SQL Server」タグアーカイブ

弥生会計ネットワーク版+SQLServerExpress

SQL Serverの設定

SQL Server Management Studio のオブジェクトエクスプローラから、
セキュリティ>ログイン>sa
をクリック。
全般で、ここでパスワードを指定。(テストのためここでは1234)
状態で、ログインを有効へ。

同じく、SQL Server Management Studio の
オブジェクトエクスプローラでインスタンスのプロパティをクリック。
セキュリティから、
SQL Server認証とWindows認証モード
に変更。

弥生会計の設定

インストール後、弥生会計ではデータベースの新規作成を進めていき、サーバーの設定画面で、
保存場所:localhost\SQLEXPRESS
ユーザ名:sa
パスワード:1234
とすればOK。

弥生会計のバックアップ

バックアップ中に、オペレーティングシステムエラー5のエラーがでる場合。

サービスからSQL Server (SQLEXPRESS)のプロパティを開いて、ログオンをローカルシステムに変更。
対話サービスも許可。

その他

Windowsの機能から.NET3.5.1のチェックを外すと起動しない。

VBA SQL実験用(SQL Server)

以前、Accessにテーブルを手軽作成するエクセルVBA(VBA SQL実験用)があったので、
今回はSQL Server版。クエリの複数行対応と、シート名でテーブル作成へ少し修正している。

VBA SQL Server接続の基本

SQL EXCEPT, INTERSECTについて

Accessでは使えないためSQL Serverも利用した。

久しぶりに動かしたら
your sql server installation is either corrupt or has been tampered
というエラー。

ほとんど使わないので関連サービスを止めていた。

管理ツールのサービスから
SQL Server (SQLEXPRESS)
手動起動したら繋がった。

SQL Server コマンド・バッチ、リモート関連

ダウンロードする種類

LocalDB
開発用。プログラミング機能。

Express
データーベースエンジンのみ。

Express with Management Tools
Management Studio が付属。

Express with Advanced Services
フルテキスト検索、Reporting Services 、Management Studio が付属。

Management Studio Express :
Management Studio本体。

実際のリンクは以下のような感じ。
Express 32BIT WoW64\SQLEXPR32_x86_JPN.exe(64bitOS用)
Express 32BIT\SQLEXPR_x86_JPN.exe
Express 64BIT\SQLEXPR_x64_JPN.exe

ExpressAdv 32BIT\SQLEXPRADV_x86_JPN.exe
ExpressAdv 64BIT\SQLEXPRADV_x64_JPN.exe

ExpressAndTools 32BIT\SQLEXPRWT_x86_JPN.exe
ExpressAndTools 64BIT\SQLEXPRWT_x64_JPN.exe

LocalDB 32BIT\SqlLocalDB.msi
LocalDB 64BIT\SqlLocalDB.msi

MgmtStudio 32BIT\SQLManagementStudio_x86_JPN.exe
MgmtStudio 64BIT\SQLManagementStudio_x64_JPN.exe

コマンドラインの場合

ダウンロードする種類

64ビット環境
JPN\x64\sqlncli.msi
JPN\x64\SqlCmdLnUtils.msi
の2つを保存

32ビット環境
JPN\x86\sqlncli.msi
JPN\x86\SqlCmdLnUtils.msi
の2つを保存

C:\Program Files\Microsoft SQL Server\110\Tools\Binn
にパスを通す

コマンドでの利用方法

sqlcmd /?
ヘルプ

sqlcmd -S サーバ名 -d DB名 -U user -P pass
sqlcmd -E -S HOST名\sqlexpress
または、
sqlcmd -E -S localhost\sqlexpress

接続

接続と同時にクエリを渡さないと、対話状態になる。

オプション

-E
はWindows認証
-Q
はインラインでSQL
-i
でSQLのファイルを渡せる。

基本の使い方

データベース一覧の表示
1> select name from sys.databases
2> go

データベースの指定
1> use my_database
2> go

テーブル一覧の表示
1> select name from sys.tables
2> go

バッチファイルでバックアップ

バッチファイルには以下を記述。
sqlcmd -E -S host名\sqlexpress -i “sql.txt”

sql.txt

バックアップ情報

バックアップ復元

リモート接続

ManagementStudioのオブジェクトエクスプローラ
サーバーのプロパティ
接続から、リモート接続を許可
セキュリティから、SQL Server認証とWindows 認証モード

ManagementStudioのオブジェクトエクスプローラ
セキュィティ
ログイン
プロパティから
全般で、パスワードを設定
状態で、ログインを有効化

サービスの設定から services.msc
SQL Server Browserを自動へ

SQL Server構成マネージャ
SQLEXPRESSのプロトコル
共有メモリ   有効
名前付きパイプ 無効
TCP/IP     有効

SQL Server構成マネージャ
SQLEXPRESSのプロトコル
TCP/IPのプロパティ
IPアドレスのページのIPALL
TCPポートを1433へ
TCP動的ポートを空白へ

firewall.cpl
新しい規則
ポート指定 -> 特定のポートを許可 -> 接続を許可 -> プライベートのみ選択
指定するポートは1433

接続できない場合の対応の1つ

「SQL Server が存在しないか、アクセスが拒否されました」というエラーで接続できませんでした。

1.Microsoft SQL Server 2005 → 構成ツール → SQL Server 構成マネージャ
→ SQLServer2005のネットワークの構成
→ プロトコル「TCP/IP」が“有効”になっているか確認

2・Microsoft SQL Server 2005 → 構成ツール → SQL Server セキュリティ構成
→サービスと接続のセキュリティ構成
→Database Engine の「リモート接続」が“ローカル接続及びリモート接続”になっているか確認

どうやらデフォルトでは「TCP/IP」は無効になっているよう。