NonSoft

SQL SERVER技術メモ


 技術メモ

★SQL SERVER 2005 EXPRESS セットアップ方法
1.WindowsInstaller-KB893803-v2-x86.exeのインストール
2.SQLEXPR_JPN.EXEのインストール
  (重要)「詳細構成オプションを非表示にする」のチェックを外す。
3.SQLServer2005_SSMSEE.msiのインストール
4.[Microsoft SQL Server 2005]〜[構成ツール]〜[SQL Server Configuration Manager]
  (重要)「TCP/IP」を有効にする。
  (重要)「SQL Server(SQLEXPRESS)」のサービス再起動
5.[ネットワークとインターネット接続]〜[Windows ファイアウォール]
  (重要)例外に「ファイルとプリンタの共有」を追加する。
  (重要)例外に「sqlservr.exe」と「sqlbrowser.exe」を追加する。

詳細はこちらで参照ください。


★SQL Serverのログファイル圧縮方法
BACKUP LOG <DB名> WITH TRUNCATE_ONLY
の後に、エンタープライズマネージャーで「データベースの圧縮」、または
DBCC SHRINKFILE(<DB名>_log,10)


★SQL ServerのDB論理名を変更する方法
ALTER DATABASE <DB名> MODIFY FILE (NAME=<現在のDB論理名>,NEWNAME=<新しいDB論理名>)


★SQL Server 2000 Desktop Engine(MSDE 2000)のインストール方法
jpn_sql2kdesksp3.exe
cd C:\sql2ksp3\MSDE
setup SECURITYMODE=SQL SAPWD="SAのパスワード" DISABLENETWORKPROTOCOLS=0


★SQL ServerのバックアップSQL
BACKUP DATABASE <DB名> TO DISK = 'C:\Backup\<DB名>.bak'
WITH FORMAT,NAME = 'Full Backup of <DB名>';


★SQL Serverのリストア(復元)SQL
USE master;
RESTORE DATABASE <DB名> FROM DISK = 'C:\Backup\<DB名>.bak';

しかし、このSQLはDB接続しているセッションが存在すると失敗するので、
事前に全てのDB接続を切断をする必要があります。


★SQL Serverのユーザー接続の強制切断SQL
USE master;
SELECT spid FROM sysprocesses,sysdatabases
WHERE sysprocesses.dbid = sysdatabases.dbid AND name = '<DB名>';

(注意)SQL SERVER 2005 ではmaster..を付けないとダメみたいです。
SELECT spid FROM master..sysprocesses,master..sysdatabases
WHERE master..sysprocesses.dbid = master..sysdatabases.dbid AND name = '<DB名>';

spidのSELECT結果を1つずつKILLします。
KILL <spidの値>

ちなみに、WHILE文を使うと全部まとめてKILL出来ると思います。


★.NET2005からMSDEに接続できない時の注意
リモートのXPマシンのMSDEに.NET 2005のEXEから接続するとエラーになりました。
しかし、同じリモートのXPマシンのMSDEに.NET 2003やVB6のEXEからは接続できました。なぜ?

Windowsファイアウォールの例外に以下を追加する事で解決しました。原因不明。
C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlservr.exe