年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の実行権限を、ローカルアカウントに変更。
★ 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”