SQLExpress 2017(SQLLocalDB 869)設定覚書

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

SQLSERVER Express ローカルアカウント

 

★ 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”

 

SQLExpress 2017(SQLLocalDB 869)設定覚書