年1で触わると、脳がリセットされているので、、、覚書。
★ SQLExpress 2017 ★
https://www.microsoft.com/ja-jp/download/confirmation.aspx?id=55994
インストールは、「基本」を選び、あと全部デフォルト。
1. バックアップフォルダー
C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL
以下にできるBacupを同期しているフォルダーに移動。
(なぜか、新規で作ったフォルダーだと、動かない)
で、それを、ディレクトリー・シンボリックリンク。
mklink /D "C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup" "C:\Users\xxxx\yyyy\_backup"
2. 自動バックアップ
ExpressはJOBが使えないので、起動時に、スタートアップに以下のバッチファイルのショートカットを作成。
cd %~p0
sqlcmd -S .\SQLEXPRESS -i sqlserver_backup.sql > backup.log
バックアップ実行SQL
BACKUP DATABASE [zzzz]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup\zzzz.bak'
WITH NOFORMAT, INIT,
NAME = N'zzzz-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
3. 実行権限
バックアップが実行時エラーで出来ないときは、SQLExpressの実行権限を、ローカルアカウントに変更。

4.外部接続
主に、SqlServer 構成マネージャーから設定
*TCP/IP 接続
Firewall に、受信1443ポートを追加
SQL Server ネットワーク構成 > SQLEXPRESSのプロトコル
TCP/IPを、有効にし、IPALLのポートを1433に固定
※Expressの場合は、動的になる。
動かなければ、必要に応じて、名前付きパイプも有効にし、SQL SERVER Browzerを実行
★ SQLLocal ★
SQLLocalは、SQLExpress インストーラーより、
「メディアのダウンロード」を選び、LocalDBをダウンロードし、実行。
1. インスタンスの作成
sqllocaldb create “db name”
2. データーベースの作成
開発機で造ったデータベースをコピーし、アタッチするのが楽。
- sqlcmd -S np:\\.\pipe\LOCALDB#<use your pipe name>\tsql\query
https://docs.microsoft.com/ja-jp/sql/tools/sqllocaldb-utility?view=sql-server-ver15
ユーザ名を日本語にしてしまうと、大変面倒!
半日格闘し、判明!!
sp_attach_db xxxx_cp, N’C:\Users\ユーザー04\xxx_cp.mdf’, N’C:\Users\ユーザー04\xxx_cp_log.ldf’
※日本語が入ると、先頭にNをつける。
SSMSで再定義した場合は、停止して、上書きすればよい。
実行状況
sqllocaldb info “db name”
終了
sqllocaldb stop “db name”
