「SQLサーバー」カテゴリーアーカイブ

SQL Server にTCP/IP接続する方法

SQL Server 構成マネージャ を起動します。


※注意:SQL Server 構成マネージャーは Microsoft 管理コンソール プログラムのス
ナップインであり、スタンドアロン プログラムではないため、
新しいバージョンの Windows では、 SQL Server 構成マネージャーは
アプリケーションとして表示されません。
Windows 10:>
SQL Server 構成マネージャーを開くには、 スタート画面で、
「SQLServerManager13.msc」( SQL Server 2016 (13.x)の場合) と入力します。
他のバージョンの SQL Server 場合、13 を対応する数値に置き換えます。
SQLServerManager13.msc をクリックすると、構成マネージャーが開きます。
スタート画面やタスク バーに構成マネージャーをピン留めするには、
SQLServerManager13.msc を右クリックして、 [ファイルの場所を開く] をクリック
します。 エクスプローラーでは、SQLServerManager13.msc を右クリックし、
[スタート画面にピン留め] または [タスクバーにピン留め] をクリックします。

Windows 8:>
SQL Server 構成マネージャーを開くには、検索チャームの [アプリ] で、
「SQLServerManager<バージョン>.msc」(「SQLServerManager13.msc」など) と
入力し、Enter キーを押します



ツリー表示部から[ SQL Server ネットワークの構成 ] - [ SQLEXPRESS のプロトコル ](インスタンス名) をクリックします。
右ペインにプロトコルの一覧が表示されますので[ TCP/IP ] を右クリックして「有効化」を選択します。

https://www.projectgroup.info/documents/MSSQL/MSSQL-20120002.html


SQLServer のリンクテーブルをAccess側で作成

Access で、どこかの SQLServer へリンクテーブルが貼られている際に
dsnファイルを利用して、Access側でリンクテーブルを作成する。
dsnファイルの項目>
DRIVER
UID
DATABASE
WSID
APP
SERVER
example
ファイル名:@@@@.dsn
[ODBC]
DRIVER=SQL Server
UID=●●(:ID名)
DATABASE=●●●●(:DB名)
WSID=T●O●K●●●-CPU●●s
APP=Microsoft Data Access Components
SERVER=●●\SQLEXPRESS2017(:DBパス)
Accessのメニューで
外部データ>新しいデータソース>DBから>SQLサーバーから>「外部データの取り込み-ODBCデータベース」ウィンドウが開く

リンクテーブルを作詞えしてソースデータにリンクする>
データソース(@@@@.dsn)の場所を選ぶ

「SQLサーバーログイン」の画面が開くので、サーバーログインのID・PWを入力

リンクするテーブルを選択する
※SQLサーバーでは、テーブル名にdbo.がついて格納されている。

SQLサーバーの選択したテーブルにリンクされたテーブルが
Accessに作成される
※テーブル名にdbo.がついて作成されるので、テーブル名の変更が必要
<参照>
https://social.msdn.microsoft.com/Forums/sqlserver/ja-JP/9e164e23-3a79-4857-b213-3ff72c81c6b8/dsn125011244912452125231243421442327711239512522125311246312469?forum=sqlserverja
https://docs.microsoft.com/ja-jp/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?redirectedfrom=MSDN&view=sql-server-ver15

SSMA for sql server

使い方

①SSMAダウンロード

②Access:SQL Server では実現できない懸念事項の払拭
     ⇒instead of delete トリガーで代替する方法あり

 ・テーブル間の外部キー制約を見直す
 ・DB最適化
 ・データベースの分割

③SSMAでバックエンドaccessファイルを SQL Server へ移行

https://docs.microsoft.com/ja-jp/sql/ssma/access/getting-started-with-sql-server-migration-assistant-for-access-accesstosql?view=sql-server-ver15
https://support.office.com/ja-jp/article/access-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92-sql-server-%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B-7bac0438-498a-4f53-b17b-cc22fc42c979

SQL Server のユーザー定義関数(スカラー値関数)確認

生成したユーザー定義関数は、SQL Server Management Studio の
プログラミング > 関数 > テーブル値関数 ・スカラー値関数の箇所で見つけることができます。

ユーザー定義関数の作成
・スカラー関数 (スカラー UDF)         ⇒RETURNS int
・インライン テーブル値関数 (TVF)       ⇒RETURNS TABLE
・複数ステートメント テーブル値関数 (MSTVF)  ⇒RETURNS @retFindReports TABLE

※ ユーザー定義関数は、データベースの状態を変更するアクションの実行に使用することはできません。

※ 出力先がテーブルである OUTPUT INTO 句をユーザー定義関数に含めることはできません。

※ SET ステートメントはユーザー定義関数では使用できません。

※ FOR XML 句は使用できません。

※ ユーザー定義関数はストアド プロシージャを呼び出すことができませんが、拡張ストアド プロシージャを呼び出すことはできます。

※ エラー処理は、ユーザー定義の関数では制限されます。
  UDF では TRY…CATCH、@ERROR、RAISERROR はいずれもサポートされません。

※ ユーザー定義関数は入れ子にすることができます。
  32 レベルまで入れ子にすることができます。

https://sql55.com/t-sql/t-sql-alter-drop-user-defined-function.php
https://docs.microsoft.com/ja-jp/sql/relational-databases/user-defined-functions/create-user-defined-functions-database-engine?view=sql-server-ver15

SSMS で設定されているすべてのトリガーを表示するスクリプト

SSMS で設定されているすべてのトリガーを表示するスクリプト

SELECT sys.triggers.name ,sys.sql_modules.definition
FROM sys.triggers
INNER JOIN sys.objects
ON sys.objects.object_id = sys.triggers.object_id
INNER JOIN sys.schemas
ON sys.schemas.schema_id = sys.objects.schema_id
INNER JOIN sys.sql_modules
ON sys.sql_modules.object_id = sys.objects.object_id
ORDER BY sys.triggers.name

※SSMS はデフォルトで256文字までしか出力できないため、クエリーのオプションで8000に変更してから出力