SQLserver
Azureでは、SQL Databaseを新たに作成すると、照合順序がデフォルトとして「SQL_Latin1_General_CP1_CI_AS」になるため、 その後にTABLEにvarchar型などの文字列フィールドを作成すると、そのままだと全て「SQL_Latin1_General_CP1_CI_AS」になる(照合順序…
概要 久々にSQLServerを動かそうとしたところ接続できず、管理ツールのサービス「SQL Server」も停止したまま起動できなかったため、SqlServer2014を再インストールしようとした。 症状 インストーラーからインストールを実行したところ、以下のエラーが発生…
Entity Frameworkではイニシャライザーを使うことで、データモデルに基づき データベースの作成 テーブルの作成 レコードの初期生成 を自動実行してくれます。 まずはLocalDBでなくSQL Server接続の接続文字列を取得 Visual Studio環境であれば /app_data/~…
症状 テスト環境をつくろうと、サーバーの.mdfファイルをローカルPCに移動してSSMSからattachしようとしたところ、Error5123により出来ない問題が起こりました。 情報源 エラー番号「5123」をもとに検索したところ、以下のスレッドが見つかりました。 Erro…
SQL Serverにエイリアス(別名)で接続する - Kobarin's Development Blogで昔投稿した別名設定に関して、先日突如機能しなくなったため、Technetフォーラムにて別名で接続できないのスレッドでご相談させて頂きました。以下、結果のみまとめます。 経緯 Vis…
ストアドプロシージャをC#等から呼び出す際、パラメータを省略したいケースがあります。 例えば、通常は空欄のデータであっても以下のように1行必要です(C#の例)。 cmd.Parameters.Add("@message", SqlDbType.NVarChar).Value = ""; パラメータを省略して…
SqlDataSourceを使ってストアドプロシージャを呼び出す場合、ウィザードに従えばパラメータ(引数)が自動生成され、データ型まで自動でセッティングしてくれて便利ですね。 一方で、〜.aspx.cs や〜.aspx.vb 等のコードページでは、相変わらずこんなコード…
using (SqlCommand cmd = cn.CreateCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = @"upGetColor"; cmd.Parameters.Add("@name", SqlDbType.NvarChar).Value = "Red"; cmd.Parameters.Add("@code", SqlDbType.NvarChar).Di…
「別名」を使う事で、例えば本来インスタンス付きで「(local)\SQLEXPRESS」等で接続しなければならない場合、簡略化して「SQLSVR」等の別名でアクセスさせることが出来ます。以下、「(local)\SQLEXPRESS」を「SQLSVR」として接続する例として示します。 操作…
Release,Service Pack Version Number SQL Server 2008 RTM 10.0.1600 SQL Server 2008 Service Pack 1 (SP1) 10.0.2531 SQL Server 2008 Service Pack 2 (SP2) 10.0.4000 参考 SQL Server のバージョン番号を調べる方法 http://d.hatena.ne.jp/matu_tak/200…
SQLserverログインと、各データベースのデータベースユーザーを確認するには、以下のSelect文で可能。 SQLserverログイン select * from master..syslogins データベースユーザー use ; select * from sysusers
SQLserverログインと、各データベースのデータベースユーザーを確認するには、以下のSelect文で可能。 SQLserverログイン select * from master..syslogins データベースユーザー use ; select * from sysusers
SQLserverログインと、各データベースのデータベースユーザーを確認するには、以下のSelect文で可能。 SQLserverログイン select * from master..syslogins データベースユーザー use ; select * from sysusers
MSDEの頃と同様にDBCCを使う。 これは、SQLserver Management Studio上のクエリやCommon SQL Environment上でも実行可能。 DBCC SHRINKFILE(論理名) 「論理名」は以下のようにして調べられる。 USE データベース名 SELECT * FROM sys.database_files また、.…
SqlServerログインとデータベースユーザーのマッピングについて解説しています。 用語 データベースユーザー…SSMSの[DB]-[セキュリティ]-[ユーザ]内にあるアカウント SQL serverログイン…SSMSの[セキュリティ]-[ログイン]内にあるアカウント なぜマッピング…
SQL Server Management Stugioでフィールドの追加や作成を行おうとすると、 「テーブルの削除後に再作成が必要な作業は許可されていません」という旨のエラーが出る。 フィールドの追加などの処理は、内部的にはどうやらテーブルの再構築が必要になるらしい…
「俺の知合い」テーブル 人名 体重 たけし 60.5 つよし 55.8 まさし 71.2 ・・・ ・・ のようなテーブルがあり、これを度数分布表示行おうとした場合、 以下のようなテーブルを作り、SQLのbetweenを使って表示する手法がある。 「体重ランク」テーブル 下限 …
SqlCommandと同じようにコードを書いたらParameterが通っていなかった件。 「@」の要不要が違うらしい。以下、違いを書いておく。 SqlCommandの例 Command1.Parameters.Add("@param1", SqlDbType.NVarChar).Value = "ABCDEF"; SqlDataSourceの例 SqlDataSou…
データバインド時に該当件数を取得するケースがある。 GridViewのRows.Countを使っても、現在表示中の行数しか取得できないため、ページング等をしていると全体の件数は取得できない。 以下のようにコーディングする事で、SqlDataSourceのSelect実行時に全件…
「私の服」テーブルの中で、最も多い色を求める。 select 色, count(*) as 枚数 from 私の服 group by 色 having count(*) >= (select max(CNT) from (select count(*) AS CNT from 私の服 group by 色 ) as C ) 色 枚数 赤 23 ↓ 「”私の服”の中で一番多い色…
オートナンバーを取得する場合、レコードを追加してみないと番号が分かりません。 例えば、ストアドプロシージャを使って親テーブルにINSERT後、INSERTした親テーブルのIDを子テーブルに渡してINSERT・・・等の場面があります。ストアドプロシージャ内で以下…
string strPath = "c:\test.csv"; DataTable dt = new DataTable(); //Shift JISで読み込む using (Microsoft.VisualBasic.FileIO.TextFieldParser tfp = new Microsoft.VisualBasic.FileIO.TextFieldParser(strPath, System.Text.Encoding.GetEncoding(932)…
string strDir = "d:\"; striing strFileName= "test.csv"; DataTable dt = new DataTable(); //CSVファイルのデータを、DataTableに変換 using (OleDbConnection con = new OleDbConnection()) { con.ConnectionString = String.Format("Provider=Microsoft…
2行でいけます。 using (SqlConnection cn = new SqlConnection(strConnectionString)) { using (SqlCommand cmd = cn.CreateCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@name", SqlDbType.NVarChar, 200).Value = …
using (SqlConnection cn = new SqlConnection([接続文字列])) { using (SqlCommand cmd = cn.CreateCommand()) { cn.Open(); SqlTransaction tran = cn.BeginTransaction(); try { cmd.Transaction = tran; cmd.CommandText = @"insert into Table1(Field1)…
SQLserver2008のインストールに失敗したので2005に戻したところ、 VisualStudio2008のSqlDataSourceの設定画面でDBに接続しようとすると、 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' …
SQL Server Management Studioで、テーブル選択 右クリックで「変更」 画面右側のプロパティウィンドウに「スキーマ」があるので、ドロップダウンから選択 警告メッセージが現れるが、気にせずOK
SELECT * FROM Table1 ORDER BY NEWID() これだけ。