SQL Server関連
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
] [
Twitter
]
開始行:
→データベース関連
#contents
*サブトピック [#r370ffd5]
-SQL-Server関連ツール
-T-SQL関連メモ
-SQL Server 2005
-MSDEメモ
-ADO.NET関連
*Tips [#gcd7697c]
-Sqlcmd で sql ファイルを実行する
sqlcmd -S <compname>\SQLEXPRESS -d <dbname> -i hoge.sql
-[[Microsoft SQL Serverの勉強をしてみよう・その2|技術BL...
--ストアドプロシージャとトリガーの説明
-[[SQL Serverのインデックスの仕組みを理解する | cloud.con...
-[[SQL Server の暗号化 - SQL Server | Microsoft Docs>http...
--[[SQL Server 2016 Express の暗号化 - へっぽこプログラマ...
-[[Microsoft SQL Server Community & Samples@CodePlex>http...
--サンプルデータベースや各種ツール、サービスなどのDownloa...
-[[SQL Server - ジョブの作成とスケジュール設定方法>https:...
-[[日付計算のベストプラクティス>http://codezine.jp/a/arti...
-[[Various Methods of Connecting to SQL database using .N...
-[[Questions to ask a SQL Server database developer appli...
-[[Basic Cryptographic Hashing of a File and storage to S...
-[[SQL Server Users Group:http://www.sqlpassj.org/]]
-[[SQLServer会議室:http://www7.big.or.jp/~pinball/discus/...
-[[ SQL Server 2000で大量の結果セットを効率的にページング...
-[[VS.NET ExpressとSQL Server Expressのチュートリアル:htt...
-[[Dr.KのSQL Serverチューニング研修@IT:http://www.atmarki...
-[[SQL Server 2000チューニング全工程@IT:http://www.atmark...
-[[Detecting and Resolving Stalled and Stuck I/O Issues i...
-[[SQL Server 2000@MSDN:http://msdn.microsoft.com/library...
-[[SQL Serverのパフォーマンス向上:http://www.microsoft.co...
-https://sql55.com/
--このサイトでは、SQL Server や T-SQL を初めて学ぶ人のた...
*環境設定の確認 [#j691c3fd]
-http://support.microsoft.com/kb/319942/
*メモリの使い方について [#u2a939b6]
-最大メモリはManagementStudio でサーバのプロパティの「メ...
-メモリ設定の詳細については、SQL Server Books Online のト...
-[[構成オプションを使ってメモリ使用量を調整する方法>http:...
--デフォルトで、SQL Server ではオペレーティング システム...
--min server memory および max server memory 構成オプショ...
--max server memory オプションで制限できるのは、SQL Serve...
*DBリンク [#u2a2c9ca]
-リンクデータベースを作成して他のインスタンスのテーブルを...
-(例)
--リンク名(任意の名前):LinkSQLSrvr
--データプロバイダ:SQLOLEDB(これはSQL Native Client For...
--サーバー名:KNLDB001\SQLDEV
--認証:SQL Server認証
---ローカルDBのログインユーザー:iyada
---リモートDBのログインユーザー:kaeritai
---リモートDBのログインパスワード:madakaerenai
-ローカル側DBに接続して以下のSQLを実行
sp_addlinkedserver N'LinkSQLSrvr', ' ', N'SQLOLEDB', N'K...
GO
sp_addlinkedsrvlogin N'LinkSQLSrvr', false, N'iyada', N'...
GO
これで直接SQLを実行することが可能になる。
select * from LinkSQLSrvr.db2.dbo.tenpo
*同時接続数 [#i17eb1bf]
-[[SQL Serverへの同時接続について>http://forums.microsoft...
--http://www.microsoft.com/japan/technet/prodtechnol/sql/...
--SQL Server 2000 のすべてのエディションでは、ユーザー接...
*画像をDBに格納するサンプル [#gd5bd65f]
-サムネイルのサンプルも兼ねる
-http://www.codeproject.com/useritems/EasyThumbs.asp
*Correlated Subquery [#jf65b547]
-いわゆる相関クエリ。サブクエリを使うときにメインのクエリ...
* Clusterd indexと Non-clustered indexの違い [#edcd9275]
-Clustered indexes store the data at the leaf level of th...
--This means that whichever field(s) in your table are in...
--Non-clustered indexes contain a row identifier at the l...
-要は、テーブルのレコード数が多いときは非クラスタインデッ...
*ユーザ定義関数(UDF) [#j1304a0d]
-http://codezine.jp/a/article.aspx?aid=583
-SQL Serverには、あまり目立たないながら検討に値するビュー...
*Full-Text Indexing files with SQL Server [#b7acd6bd]
-http://www.codeproject.com/useritems/sqlfulltextindexing...
*SQL-DMO [#ic108b7c]
-SQL Distributed Management Objects の略。COMオブジェクト...
-SQL ServerのBooks Onlineによると
Within SQL-DMO, collections represent a group of Microso...
The meaning of the collection, the components referenced...
is visible in the collection's name.
For example, the Operators collection contains Operator ...
reference SQL Server Agent operators.
とのこと
-DMOを使ってサーバのDB名やディレクトリを取得するサンプル(...
using System;
using System.Diagnostics;
using SQLDMO;
using System.Collections;
public class SqlDmo
{
static public String mServerName = "サーバ名適当に";
static public String mUserName = "ユーザ名";
static public String mPassword = "パスワード";
static public void Test()
{
try
{
Debug.WriteLine("----DB名列挙----");
SQLDMO.SQLServer sv = new SQLDMO.SQLSer...
sv.Connect(mServerName, mUserName, mPas...
int c = sv.Databases.Count;
for(int i = 1; i <= c ; i++ )
{
_Database db = sv.Databases.Item(...
Debug.WriteLine("DB"+ i + ":" + d...
}
Debug.WriteLine("----Drive列挙----");
QueryResults qr = sv.EnumAvailableMedia(
SQLDMO_MEDIA_TYPE.SQLDMOMedia_F...
for( int i = 1; i <= qr.Rows; i++ )
{
String s = qr.GetColumnString(i,1);
Debug.WriteLine("DRV" + i + ":" +...
}
Debug.WriteLine("----フォルダ名列挙----...
QueryResults qr2 = sv.EnumDirectories("...
for( int i = 1; i <= qr2.Rows; i++ )
{
String s = qr2.GetColumnString(i,...
Debug.WriteLine("DIR" + i + ":" +...
}
sv.DisConnect();
Debug.WriteLine("----end----");
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
-DMO用DLL(Microsoft SQLDMO Object Library)への参照設定は...
--C:\Program Files\Microsoft SQL Server\80\Tools\binn\SQL...
-[[SQL-DMOを単独で配布する方法:http://support.microsoft.c...
--SQL-DMOに依存するプログラムを作った場合は配布&インスト...
*SMO [#i02b994b]
-SMOとはSQL Server用の管理用フレームワーク(.NET用)。実装...
-SQL Serverとは別途インストールが必要な模様(クライアント...
-SMO=SQL DMOの機能を後継したものという説明もあるのでSQL S...
-[[SMO@MSDN:http://msdn2.microsoft.com/ja-jp/library/ms16...
-[[SMO - Manage your SQL Server:http://www.codeproject.co...
--A quick start tutorial on how to manage your Microsoft ...
*使用ポート [#l58eb5cb]
-ポートが変更されている場合、SQL Server 2019 構成マネージ...
-[[ファイアウォール経由でのSQL Serverとの通信に必要なTCP/...
--デフォルトではTCP:1433とUDP:1434を使う
*varcharとnvarcharの違い [#qda60501]
-ユニコードにしかない文字に対応する必要がある場合、必ずnv...
-varcharはShift-JISで保存し、バイト数で数える
-nvarcharはUnicodeで保存し、文字数で数える
-[[SQLServer日本語コードの確認方法 - Qiita>https://qiita....
*COLLATEとは [#f6833cae]
-照合順序のこと。照合順序とは、文字列比較とかソートをする...
--CIで大文字小文字を無視。CS(Case Sensitive?)で大文字小...
--AIでアクセント無視。AS でアクセント区別。
--WSで1バイトと2バイトの文字を区別(デフォでは区別しな...
--KSでカタカナとひらがなを区別する(デフォでは「ア」と「...
-例)COLLATE Japanese_CI_AS であればその列で比較をする際...
-照合順序にどんなのがあるか知りたければ、SQL Serverのヘル...
*ローカル一時テーブルとは [#s9027ace]
-テーブル名の先頭に#をつけてCREATEすれば、そのセッション...
*データファイルの種類 [#n5d9fd5e]
-三種類に分かれる
-プライマリ データ ファイル
--データベースの開始点
--1 つのデータベースに 1 つプライマリ ファイルが必要
--プライマリ データ ファイルに推奨されるファイル名拡張子...
-セカンダリ データ ファイル
--セカンダリ データ ファイルは、プライマリ データ ファイ...
--セカンダリ データ ファイルがない場合と、複数のセカンダ...
--セカンダリ データ ファイルに推奨されるファイル名拡張子...
-ログ ファイル
--ログ ファイルは、データベースの復旧に使用するすべてのロ...
--1 つのデータベースには最低 1 つのログ ファイルが必要で...
--ログ ファイルに推奨されるファイル名拡張子は .ldf
-[[参考ページ:物理配置とファイルグループ:http://blogs.wa...
終了行:
→データベース関連
#contents
*サブトピック [#r370ffd5]
-SQL-Server関連ツール
-T-SQL関連メモ
-SQL Server 2005
-MSDEメモ
-ADO.NET関連
*Tips [#gcd7697c]
-Sqlcmd で sql ファイルを実行する
sqlcmd -S <compname>\SQLEXPRESS -d <dbname> -i hoge.sql
-[[Microsoft SQL Serverの勉強をしてみよう・その2|技術BL...
--ストアドプロシージャとトリガーの説明
-[[SQL Serverのインデックスの仕組みを理解する | cloud.con...
-[[SQL Server の暗号化 - SQL Server | Microsoft Docs>http...
--[[SQL Server 2016 Express の暗号化 - へっぽこプログラマ...
-[[Microsoft SQL Server Community & Samples@CodePlex>http...
--サンプルデータベースや各種ツール、サービスなどのDownloa...
-[[SQL Server - ジョブの作成とスケジュール設定方法>https:...
-[[日付計算のベストプラクティス>http://codezine.jp/a/arti...
-[[Various Methods of Connecting to SQL database using .N...
-[[Questions to ask a SQL Server database developer appli...
-[[Basic Cryptographic Hashing of a File and storage to S...
-[[SQL Server Users Group:http://www.sqlpassj.org/]]
-[[SQLServer会議室:http://www7.big.or.jp/~pinball/discus/...
-[[ SQL Server 2000で大量の結果セットを効率的にページング...
-[[VS.NET ExpressとSQL Server Expressのチュートリアル:htt...
-[[Dr.KのSQL Serverチューニング研修@IT:http://www.atmarki...
-[[SQL Server 2000チューニング全工程@IT:http://www.atmark...
-[[Detecting and Resolving Stalled and Stuck I/O Issues i...
-[[SQL Server 2000@MSDN:http://msdn.microsoft.com/library...
-[[SQL Serverのパフォーマンス向上:http://www.microsoft.co...
-https://sql55.com/
--このサイトでは、SQL Server や T-SQL を初めて学ぶ人のた...
*環境設定の確認 [#j691c3fd]
-http://support.microsoft.com/kb/319942/
*メモリの使い方について [#u2a939b6]
-最大メモリはManagementStudio でサーバのプロパティの「メ...
-メモリ設定の詳細については、SQL Server Books Online のト...
-[[構成オプションを使ってメモリ使用量を調整する方法>http:...
--デフォルトで、SQL Server ではオペレーティング システム...
--min server memory および max server memory 構成オプショ...
--max server memory オプションで制限できるのは、SQL Serve...
*DBリンク [#u2a2c9ca]
-リンクデータベースを作成して他のインスタンスのテーブルを...
-(例)
--リンク名(任意の名前):LinkSQLSrvr
--データプロバイダ:SQLOLEDB(これはSQL Native Client For...
--サーバー名:KNLDB001\SQLDEV
--認証:SQL Server認証
---ローカルDBのログインユーザー:iyada
---リモートDBのログインユーザー:kaeritai
---リモートDBのログインパスワード:madakaerenai
-ローカル側DBに接続して以下のSQLを実行
sp_addlinkedserver N'LinkSQLSrvr', ' ', N'SQLOLEDB', N'K...
GO
sp_addlinkedsrvlogin N'LinkSQLSrvr', false, N'iyada', N'...
GO
これで直接SQLを実行することが可能になる。
select * from LinkSQLSrvr.db2.dbo.tenpo
*同時接続数 [#i17eb1bf]
-[[SQL Serverへの同時接続について>http://forums.microsoft...
--http://www.microsoft.com/japan/technet/prodtechnol/sql/...
--SQL Server 2000 のすべてのエディションでは、ユーザー接...
*画像をDBに格納するサンプル [#gd5bd65f]
-サムネイルのサンプルも兼ねる
-http://www.codeproject.com/useritems/EasyThumbs.asp
*Correlated Subquery [#jf65b547]
-いわゆる相関クエリ。サブクエリを使うときにメインのクエリ...
* Clusterd indexと Non-clustered indexの違い [#edcd9275]
-Clustered indexes store the data at the leaf level of th...
--This means that whichever field(s) in your table are in...
--Non-clustered indexes contain a row identifier at the l...
-要は、テーブルのレコード数が多いときは非クラスタインデッ...
*ユーザ定義関数(UDF) [#j1304a0d]
-http://codezine.jp/a/article.aspx?aid=583
-SQL Serverには、あまり目立たないながら検討に値するビュー...
*Full-Text Indexing files with SQL Server [#b7acd6bd]
-http://www.codeproject.com/useritems/sqlfulltextindexing...
*SQL-DMO [#ic108b7c]
-SQL Distributed Management Objects の略。COMオブジェクト...
-SQL ServerのBooks Onlineによると
Within SQL-DMO, collections represent a group of Microso...
The meaning of the collection, the components referenced...
is visible in the collection's name.
For example, the Operators collection contains Operator ...
reference SQL Server Agent operators.
とのこと
-DMOを使ってサーバのDB名やディレクトリを取得するサンプル(...
using System;
using System.Diagnostics;
using SQLDMO;
using System.Collections;
public class SqlDmo
{
static public String mServerName = "サーバ名適当に";
static public String mUserName = "ユーザ名";
static public String mPassword = "パスワード";
static public void Test()
{
try
{
Debug.WriteLine("----DB名列挙----");
SQLDMO.SQLServer sv = new SQLDMO.SQLSer...
sv.Connect(mServerName, mUserName, mPas...
int c = sv.Databases.Count;
for(int i = 1; i <= c ; i++ )
{
_Database db = sv.Databases.Item(...
Debug.WriteLine("DB"+ i + ":" + d...
}
Debug.WriteLine("----Drive列挙----");
QueryResults qr = sv.EnumAvailableMedia(
SQLDMO_MEDIA_TYPE.SQLDMOMedia_F...
for( int i = 1; i <= qr.Rows; i++ )
{
String s = qr.GetColumnString(i,1);
Debug.WriteLine("DRV" + i + ":" +...
}
Debug.WriteLine("----フォルダ名列挙----...
QueryResults qr2 = sv.EnumDirectories("...
for( int i = 1; i <= qr2.Rows; i++ )
{
String s = qr2.GetColumnString(i,...
Debug.WriteLine("DIR" + i + ":" +...
}
sv.DisConnect();
Debug.WriteLine("----end----");
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
-DMO用DLL(Microsoft SQLDMO Object Library)への参照設定は...
--C:\Program Files\Microsoft SQL Server\80\Tools\binn\SQL...
-[[SQL-DMOを単独で配布する方法:http://support.microsoft.c...
--SQL-DMOに依存するプログラムを作った場合は配布&インスト...
*SMO [#i02b994b]
-SMOとはSQL Server用の管理用フレームワーク(.NET用)。実装...
-SQL Serverとは別途インストールが必要な模様(クライアント...
-SMO=SQL DMOの機能を後継したものという説明もあるのでSQL S...
-[[SMO@MSDN:http://msdn2.microsoft.com/ja-jp/library/ms16...
-[[SMO - Manage your SQL Server:http://www.codeproject.co...
--A quick start tutorial on how to manage your Microsoft ...
*使用ポート [#l58eb5cb]
-ポートが変更されている場合、SQL Server 2019 構成マネージ...
-[[ファイアウォール経由でのSQL Serverとの通信に必要なTCP/...
--デフォルトではTCP:1433とUDP:1434を使う
*varcharとnvarcharの違い [#qda60501]
-ユニコードにしかない文字に対応する必要がある場合、必ずnv...
-varcharはShift-JISで保存し、バイト数で数える
-nvarcharはUnicodeで保存し、文字数で数える
-[[SQLServer日本語コードの確認方法 - Qiita>https://qiita....
*COLLATEとは [#f6833cae]
-照合順序のこと。照合順序とは、文字列比較とかソートをする...
--CIで大文字小文字を無視。CS(Case Sensitive?)で大文字小...
--AIでアクセント無視。AS でアクセント区別。
--WSで1バイトと2バイトの文字を区別(デフォでは区別しな...
--KSでカタカナとひらがなを区別する(デフォでは「ア」と「...
-例)COLLATE Japanese_CI_AS であればその列で比較をする際...
-照合順序にどんなのがあるか知りたければ、SQL Serverのヘル...
*ローカル一時テーブルとは [#s9027ace]
-テーブル名の先頭に#をつけてCREATEすれば、そのセッション...
*データファイルの種類 [#n5d9fd5e]
-三種類に分かれる
-プライマリ データ ファイル
--データベースの開始点
--1 つのデータベースに 1 つプライマリ ファイルが必要
--プライマリ データ ファイルに推奨されるファイル名拡張子...
-セカンダリ データ ファイル
--セカンダリ データ ファイルは、プライマリ データ ファイ...
--セカンダリ データ ファイルがない場合と、複数のセカンダ...
--セカンダリ データ ファイルに推奨されるファイル名拡張子...
-ログ ファイル
--ログ ファイルは、データベースの復旧に使用するすべてのロ...
--1 つのデータベースには最低 1 つのログ ファイルが必要で...
--ログ ファイルに推奨されるファイル名拡張子は .ldf
-[[参考ページ:物理配置とファイルグループ:http://blogs.wa...
ページ名: