memoQ Serverで使用する便利なSQLコマンド
これらのコマンドは、memoQ TMSの下で実行されるSQL Serverデータベースに関する問題を解決するのに役立ちます。
これらのコマンドを使用するには、sqlcmdプログラムを開きます。これはSQL Serverコマンドラインであり、SQL Serverがインストールされている場合はサーバコンピュータ上に表示されます。
SQL ServerがmemoQ TMSとは異なるコンピュータ上にある場合:リモートデスクトップを使用して (memoQ TMSではなく) SQL Serverコンピュータにログオンし、そこでコマンドを実行することをお勧めします。
作業内容が正確にわかっていて、ここに記載されている内容がすべて明確でない場合は、システムを変更しないでください。
これらのコマンドは、すべて自分の責任で使用してください:memoQ Zrt.は、これらのコマンドを使用して発生した損害について、一切の責任を負いません。未熟な人が使うと非常に危険です。また、変更を行う前に、必ずデータベースをバックアップしてください。また、作業を進める前に、少なくともSQL Server管理の短期コースを受講することを強くお勧めします。
sqlcmd –S .\<instancename>
例:sqlcmd –S .\MEMOQSERVER
デフォルトインスタンス (サービスプログラム内のMSSQLSERVER) に接続するには、次のコマンドを使用します:sqlcmd -S .\
注意:memoQ TMSと同じコンピュータ上でデフォルトインスタンスを使用する必要がある場合は、C:\ProgramData\MemoQ Server\Configuration.xmlファイルの接続文字列を変更します。接続文字列は次のようになります:<SQLConnectionString>Data Source=localhost;Initial Catalog=MemoQServer;Integrated Security=True;Connect Timeout=300</SQLConnectionString>
通常、MEMOQSERVERインスタンスの場合、接続文字列は次のようになります:
<SQLConnectionString>Data Source=localhost\MEMOQSERVER;Initial Catalog=MemoQServer;Integrated Security=True;Connect Timeout=300</SQLConnectionString>)
Initial Catalogは、memoQ TMSが使用するSQL Server内のデータベースの名前です。通常は、MemoQServerです。
これは、memoQ TMSデータベースのバックアップを復元する必要がある場合に必要です。このコマンドを使用して、データベースのバックアップが別のバージョンで作成されているために問題が発生する (アップグレードが必要になる) かどうかを確認します。
select @@version
go
出力は次のようになります:
Microsoft SQL Server 2014 (SP3-GDR) (KB5014165) - 12.0.6169.19 (Intel X86)
Apr 21 2022 18:05:59
Copyright (c) Microsoft Corporation
Express Edition on Windows NT 6.3 <X64> (Build 22621: ) (WOW64)
最初にSQL Serverインスタンスに接続します。方法については、このトピックの冒頭のセクションを参照してください。
これは、MemoQServer.mdfファイルとMemoQServer_log.ldfファイルを別のフォルダに移動する前に行うことを強くお勧めします。これにより、移動後もデータベースの整合性が保たれます。
go [Enterを押します]
sp_detach_db ’<databasename>’ [Enterを押します]
go [Enterを押します]
例:
use master [Enterを押します]
go [Enterを押します]
sp_detach_db ’MemoQServer’ [Enterを押します]
go [Enterを押します]
このロールは、memoQ TMSを表すユーザーアカウントと、デプロイメントツールを実行しているユーザーに対して付与する必要があります。
これは、SQL Serverでsysadminロールを持つユーザーとして実行します。
use <database name>
go
sp_addrolemember ’db_owner’, ’<computername or domain name\username>’
go
例:
use MemoQServer
go
sp_addrolemember ’db_owner’, ’memoQ-PC\memoQ’
go
このロールからユーザーを削除するには:
use <database name>
go
sp_droprolemember ’db_owner’, ’<computername or domain name\username>’
go
例:
use MemoQServer
go
sp_droprolemember ’db_owner’, ’memoQ-PC\memoQ’
go
このロールは、memoQ TMSを表すユーザーアカウントと、デプロイメントツールを実行しているユーザーに対して付与する必要があります。
これは、SQL Serverでsysadminロールをすでに持つユーザーとして実行します。
sp_addsrvrolemember ’<computername or domain name\username>’, ’role’
go
例:
sp_addsrvrolemember ’memoQ-PC\memoQ’, ’sysadmin’
go
または
sp_addsrvrolemember ’memoQ-PC\memoQ’, ’dbcreator’
go
サーバー・レベルのロールからユーザーを削除するには:
例:
sp_dropsrvrolemember ’memoQ-PC\memoQ’, ’sysadmin’
go
または
sp_dropsrvrolemember ’memoQ-PC\memoQ’, ’dbcreator’
go
sysadminロールを持つユーザーをリストするには:
sp_helpsrvrolemember 'sysadmin'
go
最初にサーバーインスタンスに接続します。
select name from sys.databases
go
select physical_name from sys.master_files where database_id = (select database_id from sys.databases where name = ’MemoQServer’)
go
なにも応答がない?このコマンドを実行するための十分な権限がない可能性があります。
方法1:
- memoQ TMSサービスを停止します。
- MS SQLデータベースインスタンスを停止します (Services.mscを使用します)。
- memoQ TMSのデータフォルダ (通常はC:\ProgramData\MemoQ Server) から、MemoQServer.mdfおよびMemoQServer_log.ldfファイルをバックアップフォルダにコピーします。
方法2:
- memoQ TMSサービスを停止します。
- データベースインスタンスに接続します。
- 次のコマンドを実行して、フルバックアップを作成します:
backup database <database name> to disk=’<path>\<backup filename>.bak’
go
例:
backup database MemoQServer to disk=’E:\mqdb_backup\MemoQServer_2012_04_18.bak’
go
通常、手順は次のとおりです:
- memoQ TMSサービスを停止します。
- データベースインスタンスに接続します。
- 次のコマンドを実行します:
restore database <database name> from disk=’<path>\<backup filename>.bak’
go
例:
restore database MemoQServer from disk=’E:\mqdb_backup\MemoQServer_2012_04_18.bak’
go
バックアップ元のシステムでデータベース論理名の論理名とパスが異なっており、新しくインストールしたmemoQ TMSにバックアップを復元する必要がある場合は、次のコマンドを使用します:
restore database MemoQServer from disk = 'C:\backup_2016_08_26\MemoQServer_2016_08_26.bak' with replace, move 'name_on_cloud_server' to 'C:\testdb\MemoQServer.mdf', move 'name_on_cloud_server_log' to 'C:\testdb\MemoQServer_log.ldf'
go