kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

SQL Server

sp_lock_detail

SQL Serverにおいてロック状況の確認をするストアド毎回調べているので自分用メモ USE [master] GO /****** オブジェクト: StoredProcedure [dbo].[sp_lock_detail] スクリプト日付: 06/01/2009 19:47:34 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIE…

Sql Serverのサービスが起動しない

Sql Server 2005 Express ローカルで使わなかったから、サービスを停止していたSqlServerが起動できなくなったSqlServerの構成マネージャーから起動すると以下のようなエラーがでる。 要求が失敗したか、サービスが適切な時間内に応答しませんでした。詳細…

VisualStudio2008でプロバイダ接続ができない

VisualStudio2008 SQL Server用のデータプロバイダを使用して、DBへ接続しようとしたら以下のようなエラーが出た 要求された.Net Frameworkデータプロバイダが見つかりません。これは、インストールさていない可能性があります。 呼び出しのターゲットが例外…

SQL Server smalldatetimeへの変換で丸め処理

Sql Server 2005 standardでなった。 はまったのでメモ datetime型の'2009-06-02 13:30:31.000'という値を 分単位まで使用したかった。その際、秒単位は無視したい。 select convert(smalldatetime,'2009-06-02 13:30:31.000') というようなSQLを発行すると…

sql server2005でテーブルの一覧を取得する

select name from sysobjects where xtype = 'U' order by name

リンクサーバーの設定

SQL Server リンクサーバー 設定SQL Server 2005 Management Studio Expressでの設定 オブジェクトエクスプローラー→サーバーオブジェクト→リンクサーバー 右クリックし、新しいリンクサーバーリンクサーバー部分に接続したいインスタンス名を入力し サーバ…

トランザクションの分離レベル

SQL SERVER Transaction 分離レベル SERIALIZABLE シリアライザブルSQL SERVERでトランザクションの分離レベルを シリアライザブルにするSQLトランザクションを開始直前に以下 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

ManagementStudio 行番号の表示

SQL Server ManagementStudio 行番号 表示ツール→オプションテキストエディタ→すべての言語→全般 表示の行番号にチェックを入れる

SQL Server バックアップの復元 フォルダが表示されない

SQL Server バックアップの復元 フォルダ 表示されないデータベース名→タスク→復元→データベース と選択 デバイスからにチェックをつけて、バックアップの指定画面から 追加ボタンをクリックするバックアップファイルの検索画面になり、ツリーが表示されるが…

テーブル一覧を取得するSQL

/* Created by free online sql formatter */SELECT NAME FROM SYSOBJECTS WHERE TYPE = 'U'

バッチでDBのバックアップを作成

SQL Server のDBのバックアップをバッチで作成バックアップをとるためだけに、毎回ManagementStudioを立ち上げるのが面倒なので作成。以下のコードをテキストファイルに保存し、拡張子を.batに変える。 また、改行してあるが、実際は全て1行で記述するlocalh…

VISIOでER図を自動作成する

SQL Server VISIO(2003)でER図を自動作成するまず、VISIOを起動し、 「ファイル」→「新規作成」→「データベース」→「データベースモデル図」 上部メニューから 「データベース」→「リバースエンジニアリング」Visioドライバは 「Microsoft SQL Server」を選…

カラムのコメントを取得するSQL

SqlServer カラムのコメントを取得するSQL SELECT T.NAME AS TABLE_NAME, C.NAME AS COLUMN_NAME, EP.VALUE AS COMMENT FROM SYS.TABLES T, SYS.COLUMNS C, SYS.EXTENDED_PROPERTIES EP WHERE T.NAME = 'TEST_TABLE' AND T.OBJECT_ID = C.OBJECT_ID AND C.OB…

テーブルのコメントを取得するSQL

SqlServer テーブルのコメントを取得するSQL SELECT T.NAME AS TABLE_NAME, EP.VALUE AS COMMENT FROM SYS.TABLES T, SYS.EXTENDED_PROPERTIES EP WHERE T.NAME = 'TEST_TABLE' AND T.OBJECT_ID = EP.MAJOR_ID AND EP.MINOR_ID = 0 ;

SQL Server DataBaseの復元

DataBaseの復元用SQL RESTORE DATABASE batabase_name FROM DISK = N'C:\00Work\back_up_file.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 バッチにしておいて手軽に実行できるようにしておくと、結合テストのときなんかに楽です。引数などは下記を…

DBの復元に失敗する2

SQL Server 2005 ExpressでDBの復元に失敗する2サーバー 'localhost\SQLEXPRESS' の復元に失敗しました。 (Microsoft.SqlServer.Express.Smo)System.Data.SqlClient.SqlError:バックアップセットは、既存のデータベース'hoge'以外のデータベースを保持してい…

SQL Server 連番を初期化

テーブルに付加したIdentityを初期化するSQLDBCC CHECKIDENT (tablename ,RESEED ,0)

分散トランザクション エラー 2

基本トランザクション マネージャとの通信が失敗しました。というエラーメッセージが表示されるサーバー、クライアントともに Windowsファイアーウォールの例外に以下の2つを追加 「%windir%\system32\msdtc.exe」 「[ポート番号] 135 、[TCP]」それでもつな…

Where句で 年月を条件にする

datetime型のカラムに対して、YYYYMMで条件を絞りたいときは以下のようにする WHERE SUBSTRING(CONVERT(varchar, YMD, 112), 1, 6) = '200806'

SQL Server 2005 Express Edition_インストール時のトラブル

MDAC バージョンの最小要件 (エラー) メッセージ MDAC バージョンの最小要件システムには、このリリースの SQL Server に必要なバージョンの Microsoft Data Access Components (MDAC) が含まれていません。詳細については、Microsoft SQL Server Books Onli…

名前付インスタンスに接続できない

SQL Server 2005 Express 名前付インスタンスに接続できないsqlcmdから実行すると、以下のようなエラーが発生する エラーメッセージ HResult 0xFFFFFFFF、レベル 16、状態 1 SQL ネットワーク インターフェイス : 指定された Server/Instance の位置を特定し…

SQL Serverに接続できない2

SQL Serverに接続できない2プログラム→ Microsoft SQL Server 2005 →構成ツール→SQL Server セキュリティ構成を開く左下にあるサービスとセキュリティの構成をクリックする 対象のインスタンスのリモート接続をクリックし、接続の設定画面を出すローカル接続…

SQL Server シークエンス

SQL Server シークエンス テーブルデザインを開く シークエンスを振りたいカラムを選択し、プロパティを表示する IDENTITYの指定で「はい」を選択する

カラム名をSQLで取得

カラム名をSQLで取得する方法 SELECT T.NAME, C.NAME FROM SYS.TABLES T, SYS.COLUMNS C WHERE T.NAME = 'テーブル名' AND T.OBJECT_ID = C.OBJECT_ID

全角スペースの検索

全角スペースを条件に検索する場合 WHERE hoge LIKE '% %' COLLATE Japanese_CS_AS_KS_WS

バックアップの復元ができない

SQL serverでバックアップの復元ができなかった バックアップデバイス'hoge.bak'を開けません。オペレーティングシステムエラー5(アクセスが拒否されました)。 RESTORE HEADERONLYが異常終了しています。(Microsoft SQL Server、エラー:3201) 以下のような原…

分散トランザクションの設定

SQL Server 2005 Express で分散トランザクションを使おうとしたらエラーが出る設定が必要だったコントロールパネル→管理ツール→コンポーネントサービスコンソールルート→コンポーネントサービス→コンピュータ→ マイコンピュータを右クリックし プロパティで…

SQL Server排他ロックを確認するには

sp_lockというストアドを使用するsp_lockを実行し、出てきたObjIdに対し、以下のSQLを発行すればオブジェクトの名前がわかる。SELECT object_name(16003088) 共有ロック S 排他ロック X インテント共有ロック IS インテント排他ロック IX インテント排他付き…

SQLSERVER Express インポート エクスポート

Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2にグレードアップさらにMicrosoft SQL Server 2005 Express Edition Toolkit Service Pack 2をインストールC:\Program Files\Microsoft SQL Server\90\DTS\Binn にある「DT…

SQLSERVER 月の取得

select datename(month,getdate())