タグ

SQLserverに関するeight-sevenのブックマーク (38)

  • SQL ServerでXQueryするには?(準備編3):XML乱舞:エンジニアライフ

    <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <TAXCODE>0</TAXCODE> <TAXNAME>非課税</TAXNAME> <TAXRATE>0</TAXRATE> <MODIFIED>2000-01-01T00:00:00</MODIFIED> </row> <row> <TAXCODE>1</TAXCODE> <TAXNAME>課税</TAXNAME> <TAXRATE>5</TAXRATE> <MODIFIED>2001-01-01T00:00:00</MODIFIED> </row> <row> <TAXCODE>8</TAXCODE> <TAXNAME>旧消費税</TAXNAME> <TAXRATE>3</TAXRATE> <MODIFIED>2008-01-01T00:00:00<

    SQL ServerでXQueryするには?(準備編3):XML乱舞:エンジニアライフ
  • SQL Severでxml列のデータを扱う時用メモ - Qiita

    SQL Serverでxmlを扱いたいときにはxqueryを使う必要がある。 変数ではなく、xml列にデータが入っている際の扱いに関して、たまに使うときにわすれてしまうのでメモ ■Bulk InsertするときのCSVの中身 ※当たり前だけど、xml列に対してxqueryを投げるために、Bulk Insertするときはxml列のデータ形式は「xml」を指定する必要がある(vacharとかじゃだめ) id,xml 2,<root><item id="1">1</item><item id="3">2</item><item id="2">3</item><item id="5">4</item></root> 3,<root><item id="1">1</item><item id="4">2</item><item id="2">3</item><item id="6">4</item>

    SQL Severでxml列のデータを扱う時用メモ - Qiita
  • sqlcmd ユーティリティ - Transact-SQL スクリプト ファイルを実行する - SQL Server

    適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW) sqlcmd を使用して Transact-SQL スクリプトを実行します。 Transact-SQL スクリプト ファイルは、Transact-SQL ステートメント、 sqlcmd コマンド、およびスクリプト変数を組み合わせて記述できるテキスト ファイルです。 スクリプト ファイルの作成 メモ帳を使って Transact-SQL スクリプト ファイルを作成するには、次の手順を実行します。 [スタート] を選び、[すべてのプログラム]、[アクセサリ] の順にポイントして、[メモ帳] を選びます。 次の Transact-SQL コードをコピーして、メモ帳に貼り付け

    sqlcmd ユーティリティ - Transact-SQL スクリプト ファイルを実行する - SQL Server
  • SQL Serverをコマンドラインで操作する - ITエンジニアの成長ブログ

    今回は、SQL Serverをコマンドラインで操作する方法を簡単に確認していきたいと思います。 以下の内容は、Windows 10のコンピュータにSQL Serverをインストールして確認しています。 コマンドラインツール SQL ServerをGUIで操作するには、あたりまえですが専用のツールを使用する必要があります。ツール自体は、SQL Serverをインストールしていれば同時にインストールされているかと思います。 コマンド名は、sqlcmdです。このコマンドを使用することで、コマンドラインで各種SQL文を実行できます。 個別でインストールする場合は、以下のリンクよりインストーラをダウンロードすることができます。 sqlcmd ユーティリティ - SQL Server | Microsoft Docs 基的な操作 以下から簡単な操作を紹介していきたいと思います。 ログイン SQL S

    SQL Serverをコマンドラインで操作する - ITエンジニアの成長ブログ
  • SSMSでトランザクション管理を有効にしてみた|ITエンジニアとして経験・学習したこと

    SSMS(SQL Server Management Tool)は、SQL Serverに接続しDB操作を行うためのツールで、デフォルトではオートコミットが有効になっている。そのため、update文やinsert文といったSQLを実行すると、更新内容が即時に確定されてしまうが、SSMSで明示的にコミットやロールバックを行うこともできる。 今回は、SSMSを利用してSQL Serverに接続し、明示的にコミットやロールバックを行ってみたので、その手順を共有する。 データベース設定の確認SSMSのデータベース接続設定を確認すると、データベース更新時に明示的にコミットやロールバックを行う必要があるかどうか(自動的にトランザクションを開始するかどうか)を確認することができる。その手順は、以下の通り。 1) スタートメニューから「Microsoft SQL Server Tools 18」の「Mic

    SSMSでトランザクション管理を有効にしてみた|ITエンジニアとして経験・学習したこと
  • 「断片化なし」「不足インデックスなし」にもかかわらず、業務処理が遅くなっていく(パフォーマンストラブル)

    解決方法 ある程度圧縮の効果が見込めると判断される場合は、実際にテーブルやインデックスに対して圧縮を実施しましょう。 例えば「OrderLines」というテーブルに対してページ圧縮する場合には、以下のクエリを実行します。 USE [WideWorldImporters] GO ALTER TABLE [Sales].[OrderLines] REBUILD WITH (DATA_COMPRESSION = PAGE) GO

    「断片化なし」「不足インデックスなし」にもかかわらず、業務処理が遅くなっていく(パフォーマンストラブル)
  • SQL Serverにインスタンスを追加する方法

  • 【SQLServer】インスタンスを追加する方法

    SQLServerで2つめ以降のインスタンスを追加する方法を紹介します。 1つめのインスタンスはSQLServerをインストールしたときに作れますが、2つめ以降のインスタンスを追加する方法は少し分かりにくいかと思います。 SQLServer2017を例に解説しますが、基的に他のバージョンでも同じです。 SQLServerでインスタンスを追加する方法 1.エクスプローラーからSETUP.EXEを開きます。インストールの場所などを変えていなければ、C:\SQLServer2017Media\Express_JPN のディレクトリにあると思います。 1の説明画像 2. “SQL Server の新規スタンドアロン インストールを実行するか、既存のインストールに機能を追加”をクリックします。 2の説明画像 3.内容を確認し、適宜設定などを行い[次へ(N)]をクリックします。 3の説明画像 4.内

    【SQLServer】インスタンスを追加する方法
  • SqlBulkCopy のスピードは 20 倍ぐらい早い | Moonmile Solutions Blog

    SQL Server に insert を繰り返してデータを入れる場合は、 ・bcp を使う。 ・bulk insert を使う。 ・SqlBulkCopy を使う。 を使います。bcp や bulk insert の場合は、ファイルからインポートするのでちょっと扱いづらい。SQL Server が別のマシン(サーバー機)にある場合は、一度ファイル転送をするか、ファイル共有をしないといけないので、ちょっと面倒です。 なので、SqlBulkCopy を使う…ってところまでは知っていたのですが、果たしてどのぐらいのスピードかどうかは定かだではないので、測定してみました。 結論から言えば、20 倍ほど早くなります。SQL Server 2008 の場合は 30 倍ほど、SQL Server 2000 の場合は 10-20 倍ほどなので業務コードに入れる場合は実測が必須ですね。 以下は、 crea

  • 【Excel・Access VBA】ADO入門|DBへの接続とレコードセットの取得をわかりやすく解説 - ITエンジニアの備忘録的技術ブログ【仮】

    静的バインディングなどとも呼ばれます。 VBE(Visual Basic Editor)の画面上部の「ツール」から参照設定画面を開くと、参照可能なライブラリの一覧が表示されます。 使用するライブラリにチェックを付けて登録しておくことで、遅延バインディングのようにCreateObjectをしなくても、対象のオブジェクトを呼び出せるようになります。 予め参照設定で有効化しておくことで、VBAで対象のオブジェクト名やオブジェクト変数名を記述した際に、対応したメソッド名やプロパティ名が候補として表示される「入力補完機能」が使える。 事前バインディングをした場合、チェックを付けたライブラリ名と同じ名称のライブラリが実行環境に存在しないとコンパイルエラーになります。 例えば、Access VBAからExcelの機能を呼び出す際に、参照設定からライブラリを指定する場合は以下の画像のようになります。 この

    【Excel・Access VBA】ADO入門|DBへの接続とレコードセットの取得をわかりやすく解説 - ITエンジニアの備忘録的技術ブログ【仮】
  • NVARCHARの桁数の罠 - bt

    SQLServerにはVARCHARのユニコード対応版である、NVARCHARというデータ型があります。 このNVARCHAR型の桁数がなかなかの曲者なんです。 VARCHAR(10)には何文字格納できるか? こう聞かれれば「半角10文字、全角5文字」と答える人が多いのではないでしょうか。 おそらくVARCHAR(10)の10は半角文字数と認識されていると思います。 ではNVARCHAR(10)ではどうでしょうか? 正解は「半角10文字、全角10文字」です。 NVARCHARはユニコードを扱うので、全ての文字を同じバイトで格納します。 従って半角全角の区別はありません。 NVARCHAR(10)の10は半角全角の区別なく、単純に文字数です。 この差を意識せずにNVARCHAR(10)をVARCHAR(10)に変換しようとすると たちまち桁あふれエラーが発生してしまうので注意が必要です。

    NVARCHARの桁数の罠 - bt
  • TSVファイルをBULK INSERTで取り込む - babydaemons’ blog

    CSVファイルがカンマ区切りであったのに対し、TSVファイルとはタブ区切りです(念のため)。Excelでセルの書式を壊さずにペーストできたり、プログラム上の扱いがCSVよりも簡単なのでTSVの方が好きです。 CSVファイルはこっちでやりましたが、今回はTSVファイルをやります。 USE MyDB BULK INSERT dbo.○○○マスタ FROM '\\SOMESERVER\SomeShare\Some\Directory\○○○マスタ.txt' WITH ( DATAFILETYPE = 'char', FIELDTERMINATOR = '\t', --ここが変わった ROWTERMINATOR = '\n' ) 簡単ですね。でもたまーにしか使わないので覚えられないですよ。orz BULK INSERTはフルパスでファイル名を指定しないといけないので http://www.h4.d

    TSVファイルをBULK INSERTで取り込む - babydaemons’ blog
  • VB.NET SQLServer 接続

    こんにちは、ひろにも です。 今回は、データベース関係の記事で、SQL Server 2017 Expressのインストール方法を記載していきます。SQLServerのExpressは、無料で使用できます。 無料版だと、1データベースあたり、10GBと制限がありますので、気を付けましょう。 Mic... サーバー名を入力します。今回はWindows認証で行うので認証はこのままでいきます。 そして、対象のDBを選択してください。選択したら、「OK」をクリックしましょう。 これで、接続文字列の設定は、完了です。 SQLServerの取得方法 それでは、ここからは、実際にSQLServerのデータを取得する書き方を載せていきます。 今回は、あらかじめテーブル(hironimoTable)を用意しており、5件のデータを登録しています。 このデータをデータテーブルに格納する方法を紹介します。 VB.

    VB.NET SQLServer 接続
  • Timeout error when migrating data in a large table

  • 【SQL Server】Oracleへのリンクサーバーを作成する - たきるブログ

    サーバA Windows Server 2008 R2 x64 SQL Server 2012 R2 x64 サーバB Windows Server 2003 R2 x86 Oracle 11g 11.2.0.1.0 x86 サーバAのSQL Serverにリンクサーバーを作成し、サーバBを参照できるようにする方法が分かったので、記しておく。 前提としては、当たり前のように、それぞれのDBが、外部からアクセス可能になっていること。(特にOracle側) 手順 全部サーバAで作業をする。 1.『SQL Server 構成マネージャー』から、SQL Serverを停止させておく。 2.OTNからSQL Serverのビット数に合わせたODACをダウンロードしてくる。 ※xcopy版でないもの!!! x86 Oracle Data Access Components (ODAC) for Win

    【SQL Server】Oracleへのリンクサーバーを作成する - たきるブログ
  • インデックスと制約の無効化 - SQL Server

    適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance このトピックでは、SQL Server で、SQL Server Management Studio または Transact-SQL を使用して、インデックスまたは製薬を無効にする方法について説明します。 インデックスを無効にすると、ユーザーはそのインデックスにアクセスできなくなります。クラスター化インデックスの場合は、基になるテーブルのデータにもアクセスできなくなります。 ただし、インデックス定義はメタデータに残り、インデックス統計は非クラスター化インデックス上に保持されます。 ビュー上でクラスター化インデックスまたは非クラスター化インデックスを物理的に無効にすると、インデックス データが削除されます。 テーブルのクラスター化インデックスを無効にすると、データにアクセ

    インデックスと制約の無効化 - SQL Server
  • SSMA for Oracle クライアントのインストール (OracleToSQL) - SQL Server

    SSMA クライアントは、次のタスクを実行するプログラム ファイルで構成されます。 Oracle データベースに接続します。 SQL Server のインスタンスに接続します。 Oracle データベース オブジェクトを Microsoft SQL に変換する SQL Server にオブジェクトを読み込みます。 Linux 上の SQL Server にデータを移行する この記事では、インストールの前提条件と SSMA をインストールするための手順について説明します。 前提条件 SSMA は、Oracle 9 以降のバージョンと SQL Server のすべてのエディションで動作するように設計されています。 SSMA をインストールする前に、コンピューターが次の要件を満たしていることを確認します。 Windows 7 以降のバージョン、または Windows サーバー 2008 以降のバ

    SSMA for Oracle クライアントのインストール (OracleToSQL) - SQL Server
  • 『SqlServerでGreatestやLeastを行う』

    SqlServerでOracleやPostgresでのGreatestに該当する関数が無いので面倒だ。 自作関数を作成しようとしても配列型のパラメータは無い。 「テーブル値パラメータ」を配列のように使用することも可能ではあるが、 そのテーブルを作成し値を入るというのが、これまた面倒。 COALESCE()ではパラメータ数に制限が無いので、同様のパラーメータ型が提供されれば、 事なきを得るのにと思うことしきり。 まあ、そもそもそんなパラメータ型が提供されるときには、greatest()などの関数も一緒に提供される可能性が高い。 そこで自作関数はあきらめて、SQLの記述だけで何とかしてみた。 テーブル値コンストラクターをFROM句の派生テーブルとして使用する。 カラム(A,B,C)を持つテーブルXで、A,B,Cの項目のうち最大値を求める場合 select (select max(item) f

  • Oracle SQLServer 関数対比表

    メニュー TOPページへ データ型 Access(mdb) データ型一覧 SQLServer データ型一覧 Access(mdb) SQLServer データ型対応表 エラー一覧 Access エラー一覧 SQLServer エラー一覧 Microsoft Jet エラー一覧 関数 Access SQLServer 関数対比表 Oracle SQLServer 関数対比表 Convert関数で日付を変換する 予約語 Access 予約語一覧 SQLServer 予約語一覧 Oracle 予約語一覧 Sponsored Link Oracle SQLServer 関数対比表 数値/数学関数 関数 Oracle SQLServer 絶対値 ABS ABS 逆余弦 ACOS ACOS 逆正弦 ASIN ASIN n の逆正接 ATAN ATAN n と m の逆正接 ATAN2 ATN2 最小の

  • SQL Server のログイン / ユーザーの権限を SSMS を使用しながら確認してみる at SE の雑記

    SQL Server の権限設定ですが、基的な考え方は プリンシパル (データベース エンジン) に記載されている内容となります。 権限としては、次の二種類に分けられます。 ログイン : インスタンスレベルでの操作権限 ユーザー : データベースレベルでの操作権限 「ログイン」と「ユーザー」という複数のプリンシパルに分かれているため、理解しづらい構成になっているのですが、SSMS を使用しながらであればわかりやすいかなと思いましたので軽くまとめてみようかと。 今回使用するログインですが、次のクエリで作成したものを使用しています。 「sysadmin」固定サーバーロールや「db_owner」固定データベースロールがついてしまっていると、状況が変わってくるので、「初期実行の権限を明示的に使用していないログイン」を基点としています。 SQL Server で設定可能な権限ですが、次のドキュメン

    SQL Server のログイン / ユーザーの権限を SSMS を使用しながら確認してみる at SE の雑記