<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Master &#187; SQL Server</title>
	<atom:link href="http://www.sql-master.net/articles/SQLcategory/sql-server-2005/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sql-master.net</link>
	<description>OracleやMS SQL serverの資格対策（スマートフォン対応）</description>
	<lastBuildDate>Thu, 19 Jan 2012 06:45:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>データベースロールとは？</title>
		<link>http://www.sql-master.net/articles/SQL340.html</link>
		<comments>http://www.sql-master.net/articles/SQL340.html#comments</comments>
		<pubDate>Sun, 30 Aug 2009 00:59:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.sql-master.net/?p=340</guid>
		<description><![CDATA[SQL Serverでアカウントを束ねるコレクション構造をデータベースロールと言い、Windowsで言うとグループみたいなものです。データベースロールにユーザを追加する事で、一括してユーザの権限管理を行うことができます。 [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Serverでアカウントを束ねるコレクション構造をデータベースロールと言い、Windowsで言うとグループみたいなものです。データベースロールにユーザを追加する事で、一括してユーザの権限管理を行うことができます。</p>
<p>デフォルトでSQL Serverに準備されているデータベースロールを固定データベースロールと呼びます。以下のような固定データベースロールがあります。<br />
<br/></p>
<p><strong>Public</strong><br />
デフォルトで全てのデータベースユーザがPublicのメンバとして登録されている。Windowsで言うとデフォルトでUsersグループに登録されるのと同じようなもの。</p>
<p><strong>db_owner</strong><br />
データベース内の全ての権限を保有</p>
<p><strong>db_accessadmin</strong><br />
ユーザの追加・削除が可能</p>
<p><strong>db_securityadmin</strong><br />
権限、オブジェクト所有権、データベースロール、ロールメンバシップの管理が可能</p>
<p><strong>dbddladmin</strong><br />
全てのDDLの実行が可能だが、GRANT、REVOKE、DENYのステートメントは実行不可</p>
<p><strong>db_backupoperator</strong><br />
DBCC、CHECKPOINT、BACKUPのステートメントが実行可能</p>
<p><strong>db_datareader</strong><br />
データベース内の全てのユーザテーブルのデータを参照可能</p>
<p><strong>db_datawriter</strong><br />
データベース内の全てのユーザテーブルに対して、データの追加・更新・削除が可能</p>
<p><strong>db_denydatareader</strong><br />
全てのユーザテーブルのデータを参照できない</p>
<p><strong>db_denydatawriter</strong><br />
全てのユーザテーブルへのデータ追加・更新・削除が不可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL340.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>システムデータベースとは？</title>
		<link>http://www.sql-master.net/articles/SQL337.html</link>
		<comments>http://www.sql-master.net/articles/SQL337.html#comments</comments>
		<pubDate>Sun, 30 Aug 2009 00:56:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.sql-master.net/?p=337</guid>
		<description><![CDATA[システムデータベースには、SQL Server自身が使用する重要な情報が格納されています。

master
・インスタンスのサーバ設定
・ユーザ情報
・システム環境
model
・テンプレート用のデータベース
msdb
 [...]]]></description>
			<content:encoded><![CDATA[<p>システムデータベースには、SQL Server自身が使用する重要な情報が格納されています。<br />
<br/><br />
<strong>master</strong><br />
・インスタンスのサーバ設定<br />
・ユーザ情報<br />
・システム環境</p>
<p><strong>model</strong><br />
・テンプレート用のデータベース</p>
<p><strong>msdb</strong><br />
・バックアップや復元に関するヒストリ情報<br />
・スケジュールジョブに関する情報</p>
<p><strong>tempdb</strong><br />
・SQL Serverが一時的にデータを記憶するためのデータベース</p>
<p><br/><br />
データベースをバックアップする場合は、master、model、msdbはバックアップを行った方が良いですが、tempdbはバックアップする必要は全くありません。tempdbのデータは、クライアントがデータベースにアクセスして作業している間は、保存されますが、クライアントの接続が切れると、データが消えてしまいます。また、SQL Serverが再起動すると、tempdbのデータも初期化されます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL337.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL BPA command line は動作を停止しました。</title>
		<link>http://www.sql-master.net/articles/SQL321.html</link>
		<comments>http://www.sql-master.net/articles/SQL321.html#comments</comments>
		<pubDate>Sun, 30 Aug 2009 00:46:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.sql-master.net/?p=321</guid>
		<description><![CDATA[SQL Server 2005 Express Edition with Advance Servicesに対して、Windows UpdateでSP3を適用しようとしましたが、下記のようなエラーが発生してSP3の適用が [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Server 2005 Express Edition with Advance Servicesに対して、Windows UpdateでSP3を適用しようとしましたが、下記のようなエラーが発生してSP3の適用ができません。</p>
<p><strong><font color="blue">「SQL BPA command line は動作を停止しました。」</font></strong></p>
<p>BPAとはBest Practices Analyzerの略で、SQL Server 2005 のインストールまたはアップグレードの対象となるコンピュータが適切に管理および運用されていることをチェックするツール。BPAにはアップグレードアドバイザも含まれています。<br />
<br/><br />
■対応策<br />
Net. Framework SDKのgacutil.exeを使って解決します。<br />
gacutil.exeとはグローバル アセンブリ キャッシュ ツールの略で、グローバル アセンブリ キャッシュとダウンロード キャッシュの内容を表示および操作できます。</p>
<p>まず、SDK用のコマンドプロンプトを開きます。そして、下記のコマンドを実行します。</p>
<blockquote><p>> cd c:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\BPA\bin<br />
> gacutil /i BPAClient.dll</p></blockquote>
<p>実行すると、下記のようなメッセージが表示されます。</p>
<p><font color="blue">Microsoft (R) .NET Global Assembly Cache Utility. Version 3.5.xxxxx.x<br />
Copyright (c) Microsoft Corporation. All rights reserved.</p>
<p>Assembly successfully added to the cache</font></p>
<p>これで、再度SQL Server 2005 Express EditionのSP3を適用すると正常にインストールが実行できます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL321.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【SQL Server】WHERE句では列別名が使用できない。</title>
		<link>http://www.sql-master.net/articles/SQL163.html</link>
		<comments>http://www.sql-master.net/articles/SQL163.html#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:33:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.sql-master.net/?p=163</guid>
		<description><![CDATA[特に意識はしていなかったのですが、WHERE句では列別名が使用できませんね。

SELECT employee_id as ID, user_name as Name, dept_cd as Dept
FROM emp_ [...]]]></description>
			<content:encoded><![CDATA[<p>特に意識はしていなかったのですが、WHERE句では列別名が使用できませんね。</p>
<p><br/></p>
<blockquote><p>SELECT employee_id as <strong>ID</strong>, user_name as Name, dept_cd as Dept<br />
FROM emp_list<br />
WHERE <strong>ID</strong> = &#8216;100&#8242;;</p></blockquote>
<p>このように、WHERE句で列別名であるIDを使用すると、エラーとなってしまいます。よって、WHERE句には列名である、employee_idを使用しなければなりません。上記のような場合であれば単純に列別名を指定せず、列名を指定すれば良いのですが、次の例の場合は、どうしても列別名を使用したくなります。</p>
<blockquote><p>SELECT REPLACE(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), SUBSTRING(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), 0, CHARINDEX(’#&#8217;, REPLACE(FullPCName, ‘.sql.jpn.org’, ”))+1), ”)  as <strong>ServerName</strong>, operating_system, language<br />
FROM computer_list<br />
WHERE <strong>ServerName</strong> = &#8217;server01&#8242;</p></blockquote>
<p>WHERE句に列別名であるServerNameを使用していますが、これではエラーとなってしまいます。よって、次のように記述しなければなりません。</p>
<blockquote><p>
SELECT REPLACE(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), SUBSTRING(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), 0, CHARINDEX(’#&#8217;, REPLACE(FullPCName, ‘.sql.jpn.org’, ”))+1), ”)  as <strong>ServerName</strong>, operating_system, language<br />
FROM computer_list<br />
WHERE <strong>REPLACE(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), SUBSTRING(REPLACE(FullPCName, ‘.sql.jpn.org’, ”), 0, CHARINDEX(’#&#8217;, REPLACE(FullPCName, ‘.sql.jpn.org’, ”))+1), ”)  </strong>= &#8217;server01&#8242;;</p></blockquote>
<p>一度ビューなどをかましてからクエリを作成した方が良いかもしれませんね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL163.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【MCTS:70-431】CREATE LOGINとCREATE USERの使い方</title>
		<link>http://www.sql-master.net/articles/SQL48.html</link>
		<comments>http://www.sql-master.net/articles/SQL48.html#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:00:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://sql.jpn.org/?p=48</guid>
		<description><![CDATA[SQL ServerにはCREATE LOGINとCREATE USERという似たようなコマンドが存在しますが、同じものではありませんので注意しましょう。
まず、SQL Serverのデータベースへのアクセス方法にはWi [...]]]></description>
			<content:encoded><![CDATA[<p>SQL ServerにはCREATE LOGINとCREATE USERという似たようなコマンドが存在しますが、同じものではありませんので注意しましょう。</p>
<p>まず、SQL Serverのデータベースへのアクセス方法にはWindows認証モードと混合モード（SQL Server認証とWindows認証）があります。どちらのモードでも、SQL Serverへログインし、データベースユーザとして作業を行いますが、SQL Serverにはデータベースユーザの他にSQL Serverログインというセキュリティプリンシパルを作成し、SQL Serverログインとデータベースユーザを紐付ける必要があります。</p>
<p>例えば、Windows認証モードの場合、PCName\loginnameというWindowsのアカウントでデータベースにアクセスするには、PCName\loginname用のSQL Serverログインを作成し、それに紐付けるデータベースユーザを作成する、という2段階の作業が必要です。</p>
<p>■SQL Serverログインの作成</p>
<blockquote><p>USE master;<br />
CREATE LOGIN [PCName\loginname]<br />
?FROM WINDOWS<br />
?WITH DEFAULT_DATABASE = TestData;<br />
GO
</p></blockquote>
<p>■データベースユーザを作成し、SQL Serverログインと紐付ける</p>
<blockquote><p>USE TestData;<br />
CREATE USER [dbusername]<br />
FOR LOGIN [PCName\loginname];
</p></blockquote>
<p>これで、Windows認証を使って、PCName\loginnameアカウントでデータベースにアクセスできます。</p>
<p><br/><br />
混合モード（SQL Server認証とWindows認証）で設定していて、SQL Server認証を利用してデータベースにアクセスする場合でも、最初にSQL Serverログインを作成し、次にデータベースユーザを作成しSQL Serverログインと紐付けます。</p>
<p>■SQL Serverログインの作成</p>
<blockquote><p>USE master;<br />
CREATE LOGIN dboperator01<br />
?WITH PASSWORD = &#8216;password&#8217;<br />
?,DEFAULT_DATABASE = TestData;
</p></blockquote>
<p>■データベースユーザを作成し、SQL Serverログインと紐付ける</p>
<blockquote><p>USE TestData;<br />
CREATE USER dboperator02<br />
FOR LOGIN dboperator01;</p></blockquote>
<p>この場合、SQL Server認証時にdboperator01とdboperator02のどちらでログインするのかわかりますか？答は、dboperator01です。</p>
<p>これで、CREATE LOGINとCREATE USERの使い方がわかりましたか？ユーザ作成にはストアードプロシージャーのsp_addloginがありますが、sp_addloginに関しては別途紹介します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL48.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【SQL Server】複数のインスタンスをインストールするには？</title>
		<link>http://www.sql-master.net/articles/SQL92.html</link>
		<comments>http://www.sql-master.net/articles/SQL92.html#comments</comments>
		<pubDate>Sat, 22 Aug 2009 02:59:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://sql.jpn.org/?p=92</guid>
		<description><![CDATA[1つのサーバに複数のインスタンスを作成する事ができます。複数のインスタンスを作成するには、SQL Serverのインストーラを実行する必要があります。







「名前付きインスタンス」を選択し、追加するインスタンス [...]]]></description>
			<content:encoded><![CDATA[<p>1つのサーバに複数のインスタンスを作成する事ができます。複数のインスタンスを作成するには、SQL Serverのインストーラを実行する必要があります。</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-94" title="multiple-instances" src="http://www.sql-master.net/wp-content/uploads/2009/08/002.jpg" alt="multiple-instances" width="351" height="316" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-97" title="multiple-instance2" src="http://www.sql-master.net/wp-content/uploads/2009/08/003.jpg" alt="multiple-instance2" width="351" height="316" /></p>
<p style="text-align: left;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-99" title="multiple-instances4" src="http://www.sql-master.net/wp-content/uploads/2009/08/005.jpg" alt="multiple-instances4" width="347" height="318" /></p>
<p style="text-align: left;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-100" title="multiple-instances" src="http://www.sql-master.net/wp-content/uploads/2009/08/006.jpg" alt="multiple-instances" width="347" height="318" /></p>
<p style="text-align: left;">
<p style="text-align: left;">「名前付きインスタンス」を選択し、追加するインスタンスの名前を記入します。後は通常のSQL Serverのインストールと同じプロセスです。</p>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL92.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>リモート接続でSQL Serverのデータベースに接続するには？</title>
		<link>http://www.sql-master.net/articles/SQL80.html</link>
		<comments>http://www.sql-master.net/articles/SQL80.html#comments</comments>
		<pubDate>Sat, 22 Aug 2009 02:13:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://sql.jpn.org/?p=80</guid>
		<description><![CDATA[問：リモートからSQL Serverのデータベースにアクセスしようとしましたが、アクセスできません。どのようにすれば良いのでしょうか？
?
答：SQL Serverの既定の設定では、ネットワーク経由でデータベースにアクセ [...]]]></description>
			<content:encoded><![CDATA[<p class="mceTemp mceIEcenter" style="text-align: left;">問：リモートからSQL Serverのデータベースにアクセスしようとしましたが、アクセスできません。どのようにすれば良いのでしょうか？</p>
<p style="text-align: left;">?</p>
<p style="text-align: left;">答：SQL Serverの既定の設定では、ネットワーク経由でデータベースにアクセスする設定が無効になっています。有効にするには、「SQL Serverセキュリティ構成」ツールを使用します。</p>
<div class="mceTemp mceIEcenter" style="text-align: left;">
<div id="attachment_82" class="wp-caption aligncenter" style="width: 495px"><img class="size-full wp-image-82  " title="sql-server-security-setting001" src="http://www.sql-master.net/wp-content/uploads/2009/08/001.jpg" alt="sql server security remote access" width="485" height="366" /><p class="wp-caption-text">sql server security remote access</p></div>
</div>
<p class="mceTemp mceIEcenter" style="text-align: left;">「リモート接続」では、既定で「ローカル接続のみ」にチェックがついています。リモート接続も許可するには、「ローカル接続およびリモート接続」にチェックを付与します。「名前付きパイプ」を使用すると、使用するポートつまり、開くポートが多くなりますので、セキュリティ的には「TCP/IPのみを使用する」を選択した方が良いでしょう。</p>
<p class="mceTemp mceIEcenter" style="text-align: left;">設定後はデータベースエンジンサービスを再起動する必要があります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL80.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【MCTS:70-431】SQL Serverのバージョンを確認する方法</title>
		<link>http://www.sql-master.net/articles/SQL42.html</link>
		<comments>http://www.sql-master.net/articles/SQL42.html#comments</comments>
		<pubDate>Sun, 16 Aug 2009 08:38:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://sql.jpn.org/?p=42</guid>
		<description><![CDATA[SQL Serverのバージョンを確認する方法に、以下のクエリを実行する方法があります。
&#62; SELECT @@VERSION
&#62; Microsoft SQL Server 2005 &#8211; 9.00 [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Serverのバージョンを確認する方法に、以下のクエリを実行する方法があります。</p>
<blockquote><p>&gt; SELECT @@VERSION</p>
<p>&gt; Microsoft SQL Server 2005 &#8211; 9.00.4035.00 (Intel X86)?? Nov 24 2008 13:01:59?? Copyright (c) 1988-2005 Microsoft Corporation? Express Edition with Advanced Services on Windows NT 6.0 (Build 6002: Service Pack 2)</p></blockquote>
<p>この結果から、SQL ServerのバージョンはSQL Server 2005 SP2、エディションがExpress Edition、製品バージョンが9.00.4035.00である事がわかります。製品バージョン、製品レベル、エディション、をそれぞれ取得するには、以下のSQL文を実行します。</p>
<blockquote><p>&gt; SELECT? SERVERPROPERTY(&#8217;productversion&#8217;), SERVERPROPERTY (&#8217;productlevel&#8217;), SERVERPROPERTY (&#8217;edition&#8217;)</p>
<p>&gt; 9.00.4035.00??:? SP3??:? Express Edition with Advanced Services</p></blockquote>
<p>製品バージョン：　SERVERPROPERTY(&#8217;productversion&#8217;)</p>
<p>製品レベル：　SERVERPROPERTY(&#8217;productlevel&#8217;)</p>
<p>製品エディション：　SERVERPROPERTY(&#8217;edition&#8217;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sql-master.net/articles/SQL42.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

