Bitbucket Server を SQL Server に接続する

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

このページでは、Bitbucket Server から Microsoft SQL Server データベースに接続する方法について説明します。Bitbucket から SQL Server への接続は、セットアップ ウィザードを使用したインストール時、またはデータベースの移行ウィザードを使用して後から行うことができます。ここでは、SQL Server をすでにインストールし、実行中であることを想定しています。

Bitbucket Server で SQL Server データベースを使用する場合の全体的なプロセスは次のとおりです。

  • Bitbucket Server からアクセス可能な場所に SQL Server をインストールします。
  • SQL Server インスタンスで、Bitbucket Server が使用するデータベースおよびユーザーを作成します。
  • Windows、Linux、または Mac に Bitbucket Server をインストールします。「Bitbucket Server インストール ガイド」を参照してください。

Bitbucket Server でサポートされる SQL Server のバージョンについては、「サポート対象プラットフォーム」を参照してください。

前提条件

現在のデータベースのバックアップ

内部の Bitbucket Server データベースからデータを移行する場合、Bitbucket Server ホーム ディレクトリをバックアップします。

別の外部データベースから Bitbucket Server データを移行する場合は、これらの手順を進める前に、データベース ベンダーから提供された手順に従ってデータベースをバックアップします。

データの復元とバックアップ」を参照してください。

Bitbucket Server データベースの作成

Bitbucket Server で SQL Server を使用する前に、SQL Server を次のようにセットアップする必要があります。

ステップ注意
データベースの作成e.g. bitbucket. Remember this database name for the connection step below.
照合タイプの設定大文字と小文字を区別する必要があります。例: 'SQL_Latin1_General_CP1_CS_AS' (CS = Case Sensitive)。
分離レベルの設定分離レベル "Read Committed with Row Versioning" を使用するようにデータベースを設定します。
データベース ユーザーの作成e.g. bitbucketuser. This database user should not be the database owner, but should be in the db_owner role. It needs to be in this role during setup and at all points when Bitbucket Server is running due to the way Bitbucket Server interacts with the database. See SQL Server Startup Errors. Remember this database user name for the connection step below.
データベース ユーザーの権限の設定Bitbucket Server データベース ユーザーは、データベースに接続し、新しく作成されたデータベースで、テーブル、インデックス、およびその他の制約を作成およびドロップし、データを挿入および削除する権限を持ちます。
Enable TCP/IPTCP/IP が SQL Server で有効になっており、SQL Server が適切なポートでリッスン (SQL Server インストールの既定の設定では 1433) していることを確認します。以降の接続ステップ用にこのポート番号を記憶しておいてください。
認証モードの確認

SQL Server が適切な認証モードで稼動していることを確認します。SQL Server はデフォルトで "Windows Authentication Mode" で動作します。ただし、ユーザーが SQL の信頼関係接続に関連付けられていない場合、すなわち、Bitbucket Server セットアップ中に ”Microsoft SQL Server, Error: 18452” が表示される場合、認証モードを "Mixed Authentication Mode" に変更する必要があります。

Windows で実行されている Bitbucket Server インスタンスでも、"Windows Authentication Mode" で実行されている SQL Server データベースをサポートできます。これについてはこのページの下部で記載しており、手動で設定する必要があります: 「Bitbucket Server を SQL Server に接続する - 統合認証を使用する (オプション)

SET NOCOUNT がオフになっていることの確認SET NOCOUNT オプションがオフになっていることを確認します。SQL Server Management Studio で次のように実行できます。
  1. [Tools] > [Options] > [Query Execution] > [SQL Server] > [Advanced] の順に移動します。SET NOCOUNT オプションがクリアされていることを確認します。
  2. 次に、[Server] > [Properties] > [Connections] > [Default Connections] プロパティ ボックスに移動し、no count オプションをクリアします。

Bitbucket Server では一般に、データベース コネクションが約 25~30 必要です。

Bitbucket Server では、データベースのアイドル接続を 10 分以上に維持する必要があります。データベースの接続タイムアウトが 10 分未満に設定されている場合、ランダムに見える接続エラーが発生します。 

Here is an example of how to create and configure the SQL Server database from the command line. When Bitbucket Server and SQL Server run on the same physical computer (accessible through localhost), run the following commands (replacing bitbucketuser and password with your own values):

SQL Server> CREATE DATABASE bitbucket
SQL Server> GO
SQL Server> USE bitbucket
SQL Server> GO
SQL Server> ALTER DATABASE bitbucket SET ALLOW_SNAPSHOT_ISOLATION ON
SQL Server> GO
SQL Server> ALTER DATABASE bitbucket SET READ_COMMITTED_SNAPSHOT ON
SQL Server> GO
SQL Server> ALTER DATABASE bitbucket COLLATE SQL_Latin1_General_CP1_CS_AS
SQL Server> GO
SQL Server> SET NOCOUNT OFF
SQL Server> GO
SQL Server> USE master
SQL Server> GO
SQL Server> CREATE LOGIN bitbucketuser WITH PASSWORD=N'password', DEFAULT_DATABASE=bitbucket, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
SQL Server> GO
SQL Server> ALTER AUTHORIZATION ON DATABASE::bitbucket TO bitbucketuser
SQL Server> GO

This creates an empty SQL Server database with the name bitbucket, and a user that can log in from the host that Bitbucket Server is running on who has full access to the newly created database. In particular, the user should be allowed to create and drop tables, indexes and other constraints.

Bitbucket Server を SQL Server データベースに接続する

Bitbucket Server を SQL Server データベースに、次のいずれかのタイミングで接続できるようになりました。

  • インストール時にセットアップ ウィザードを実行する場合
  • 埋め込みデータベースまたは別の外部データベースから SQL Server に移行したい場合。

インストール時にセットアップ ウィザードを実行する場合

  1. "Database" 手順で [External] を選択します。
  2. Database Type に [SQL Server] を選択します。
  3. フォームに入力します。詳細は、以下の表を参照してください。
  4. [Next] をクリックし、Bitbucket Server セットアップ ウィザードの手順に従います。

SQL Server に移行する場合

  1. Bitbucket Server の管理領域で、[設定] 配下の [データベース] をクリックします。
  2. [データベースの移行] をクリックします。
  3. Database Type に [SQL Server] を選択します。
  4. フォームに入力します。詳細は、以下の表を参照してください。
  5. [移行の開始] をクリックします。

 

ホスト名

データベース サーバーを実行するコンピューターのホスト名または IP アドレス。

ポートBitbucket Server がデータベース サーバーに接続できる TCP ポート。既定値である 1433 は、SQL Server が実行される既定のポートです。SQL Server インスタンスが使用しているポートを確認済みの場合は変更できます。
データベース名
Bitbucket Server が接続するデータベースの名前。
データベース ユーザー名Bitbucket Server がデータベースへのアクセスに使用するユーザー名。
データベース パスワードBitbucket Server がデータベースへのアクセスに使用するパスワード。

名前付きインスタンス

If you have a named instance on your server, you will need to manually edit the bitbucket.properties file as described on the Connecting to named instances in SQL Server from Bitbucket Server Knowledge Base article.

"Windows Authentication Mode" または統合認証を使用する (オプション)

Windows Authentication は、Windows で実行中の Bitbucket Server インスタンスでのみ利用できます。Microsoft はこの認証のための共有オブジェクトを提供していないため、Linux でこの認証を使用することはできません。Windows で Bitbucket Server を実行して Windows セキュリティを使用できるようにするか、Linux で Bitbucket Server を使用している場合は SQL Server 用に混合認証を有効にする必要があります。残念ながら、現時点では他のオプションはありません。

統合認証はネイティブの DLL を使用してログイン済みのユーザーの資格情報にアクセスし、SQL Server で認証します。32 ビットと 64 ビット システム用の両方のネイティブ DLL がディストリビューションに含まれ、Microsoft からパッケージ全体をダウンロードする必要はありません。

Bitbucket Server does not currently support configuring the system to use integrated authentication from the UI (Vote for it! STASH-3035 - Getting issue details... STATUS ). This means you can't currently migrate to SQL Server with integrated authentication, nor can you configure Bitbucket Server to use SQL Server with integrated authentication during initial setup. However, if Bitbucket Server has already been configured to use SQL Server (for example, when the Setup Wizard was run at first use), you can enable integrated authentication by directly modifying Bitbucket Server's configuration, as follows:

  1. Based on the JVM being used to run Bitbucket Server, rename either the x64 or x86 DLL to sqljdbc_auth.dll in lib/native. Note that running on Windows x64 does not require the use of the x64 DLL; you should only use the x64 DLL if you are also using a 64-bit JVM.
  2. In _start-webapp.bat, a JVM_LIBRARY_PATH variable has already been defined. Simply remove the leading rem . Note that if you are putting the native DLL in an alternative location, you may need to change the value to point to your own path. The value of the JVM_LIBRARY_PATH variable will automatically be included in the command line when Tomcat is run using start-bitbucket.bat.
  3. Edit the %BITBUCKET_HOME%\shared\bitbucket.properties file to include ;integratedSecurity=true in the jdbc.url line. Note that jdbc.user and jdbc.password will no longer be used to supply credentials but they must still be defined – Bitbucket Server will fail to start if these properties are removed.
  4. Bitbucket Server のプロセスまたはサービスが、SQL Server にアクセス下の奥な適切なユーザーとして実行されていることを確認します (このユーザーは一般に Windows ドメイン ユーザー アカウントですが、ローカル、ドメイン、またはエンタープライズの任意の管理グループのメンバーにすることはできません)。

ネイティブの DLL を使用するのではなく、Kerberos 経由で統合認証を設定することもできます。この方法の詳細は JDBC ドキュメントに含まれています。

JDBC ドライバのインストール

このセクションは、Bitbucket Server の一部のディストリビューションにのみ関連します (例: Atlassian Plugin SDK 経由で Bitbucket Server を実行している場合や、Bitbucket Server をソースからビルドした場合)。

SQL Server JDBC ドライバが Bitbucket Server にバンドルされていない場合、自身でドライバをダウンロードしてインストールする必要があります。

  1. 適切な JDBC ドライバを Microsoft のダウンロード サイトからダウンロードします。
  2. Install the driver file to your <Bitbucket home directory> /lib directory (for Bitbucket Server 2.1 or later).
  3. Bitbucket Server を停止してから再起動します。「Bitbucket Server の開始および終了」をご参照ください。

JDBC URL を手動で入力することで、Microsoft SQL Server を使用するように Bitbucket Server  を設定済みの場合、このガイドを参照してください。

最終更新日 2019 年 5 月 3 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.