SQL Server

提供: xField wiki
ナビゲーションに移動 検索に移動

SQL Server

情報[編集]

Microsoft SQL Server Japan Support Team Blog(日本語)
SQL Server とそのコンポーネントのバージョンとエディションを確認する方法

インストールエラーに関して[編集]

'~' is not a valid login or you do not have permission.[編集]

ユーザー名とコンピュータ名が同じ場合に発生する。

Express[編集]

データベースサイズの制限[編集]

バージョンとデータベースサイズ
バージョン 制限
SQL Server 2005 Express 4GB
SQL Server 2008 Express 4GB
SQL Server 2008 R2 Express 10GB

ユーザーインスタンスに接続する方法[編集]

SQL Server Management Studio などからユーザーインスタンスに接続するためにはサーバー名が必要です。
ユーザーインスタンスのサーバー名を取得する方法

ユーザー インスタンスに接続する方法

接続エラーのトラブルシューティング[編集]

MSDNのブログより
Troubleshooting: Connectivity #1 - SQL Server への接続
Troubleshooting: Connectivity #2 - エラー情報からわかる失敗原因
Troubleshooting Connectivity #3 - 予期しない接続切断
Troubleshooting Connectivity #4 - 接続エラーの調査方法

スクリプト アップグレード モード[編集]

スクリプト アップグレード モード

SQL[編集]

ストアドプロシージャで処理された件数を返さないようにする[編集]

SET NOCOUNT ONは、ストアドプロシージャでSELECT文を実行したときにクエリアナライザのメッセージタブに表示される「(X 件処理されました)」というメッセージを出さないようにSQL実行環境を変更します。

ストアドプロシージャでSELECT文を実行するたびに「(X 件処理されました)」というメッセージを表示すると、PRINT文で明示的に表示する重要なメッセージなどを見つけにくくなるばかりか、メッセージをSQL Serverからクライアントに送信するためネットワークに無駄な負荷を掛けます。
このため、ストアドプロシージャではSET NOCOUNT ONによるメッセージ抑制が効果的です。

SET NOCOUNT (Transact-SQL)

複数行の文字列を結合して1行にまとめる[編集]

FOR XML PATH()を使うといけるようです。
(select Name+',' from ~ for xml path(),type).value('.','nvarchar(max)') のようにしておくと
<>のような文字が変換されずに済みます。
[SQL SERVERで複数行のデータをカンマ区切りで取得する方法]
[Group Byでの文字列連結[SQL Server]]

テーブル名とデータ件数を取得する[編集]

select o.name as テーブル名, i.rows as 件数
from sysindexes i, sysobjects o
where
o.xtype = 'U'
and o.id = i.id
and i.indid < 2
order by o.name