‘SQL Server’ カテゴリーのアーカイブ

PythonからODBC経由でSQL Serverに接続するには

2010年1月17日 日曜日

python DB API 2.0に準拠しているODBCドライバ pyodbcを使用する。Windows認証を使用して接続する接続パラメータは下記。

‘DRIVER={SQL Server};SERVER=localhost\SQLEXPRESS;DATABASE=TestDB;Trusted_Connection=yes;’

使用例:

import pyodbc

conn = pyodbc.connect(‘DRIVER={SQL Server};SERVER=localhost\SQLEXPRESS;DATABASE=TestDB;Trusted_Connection=yes;’)
cursor = conn.cursor()
rows = cursor.execute(‘select* from Test’).fetchall()
conn.close()
print rows

SQL Serverでデータベースのアタッチ、デタッチをコマンドプロンプトから行う方法

2009年11月25日 水曜日

コマンドプロンプトでsqlcmdを起動してDBに接続する。

sqlcmd -S localhost\sqlexpress -E

アタッチを行うには下記コマンドを実行する。

sp_attach_db @dbname=DB名, @filename1=’DBファイルへのフルパス’;
go

デタッチを行うには下記コマンドを実行する。

sp_detach_db @dbname=DB名;
go

SQL Server – ID列の開始番号をリセットするには

2009年11月12日 木曜日

IDENTITYとして指定されている列のあるテーブルのデータをすべて削除した時に、ついでにID列の開始番号をリセットする場合には下記を実行する。

DBCC CHECKIDENT([テーブル名],RESEED, 0)

3つめのパラメータの0は変更する現在値なので、次は1から始まることになる。

LINQ to SQLをSQL Server Compact Editionで使用するには

2009年10月14日 水曜日

Visual Studio 2008のObject Relational Designerは「SQL Server CompactEdition」をサポートしていないため、DataContextクラスをドラッグアンドドロップで作成しようとしても「選択されたオブジェクトにはサポート外のデータプロバイダが使用されています。」というエラーが表示されてしまう。

dbmlファイルを作成するにはVisual Studio 2008コマンドプロンプトを利用して下記のコマンドを実行する。

sqlmetal /dbml:Northwind.dbml Northwind.sdf

その後Visual Studioのプロジェクトファイルに取り込む。

Visual StudioのプロジェクトにSQL ServerのDB(サービスベースのデータベース)を追加できない。

2009年8月22日 土曜日

Visual Studioで「サービスベースのデータベース」を追加した際に、
「ユーザーインスタンスのプロセス起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。 」のエラーが発生。
エラーの詳細は「C:\Users\ユーザ名\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS」に出る。エラーの内容が

FCB::Open failed: Could not open file C:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL\Template Data\model.mdf for file number 1.  OS error: 3(指定されたパスが見つかりません。).

などのテンプレートデータベースのパスが原因のエラーの場合は「C:\Users\ユーザ名\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS」中にあるシステムデータベースが古いものである可能性が高いので、一旦全部削除すると起動できるようになる。

Visual Studio 2008 SP1とSQL Server 2008のインストール順

2008年8月12日 火曜日

Visual Studio 2008 SP1を先にインストールしてSQL Server 2008をインストールするのが正解とのこと。

順番を間違えると

「ルール “Microsoft Visual Studio 2008 の前のリリース” は失敗しました。

このコンピュータには、Microsoft Visual Studio 2008 の前のリリースがインストールされています。SQL Server 2008 をインストールする前に、Microsoft Visual Studio 2008 を SP1 にアップグレードしてください。」

というメッセージが表示される場合がある。詳細は下記。

http://support.microsoft.com/default.aspx/kb/956139

アプリケーションがSQL ServerのDBファイルをアタッチしている場合にプロファイラから接続する方法

2008年7月28日 月曜日

SQL Server Management Studioで下記SQLを実行。

Select owning_principal_name, instance_pipe_name from sys.dm_os_child_instances;

該当するinstance_pipe_nameを見つけて、下記のように表示されている名前の前ににnp:をつけたものをサーバ名として接続する。

np:\\.\pipe\3C3DF6B1-2262-47\tsql\query