Nützliche SQL-Befehle zur Verwendung mit memoQ TMS
Diese Befehle können Ihnen helfen, Probleme mit der SQL Server-Datenbank zu beheben, die unter memoQ TMS läuft.
Um diese Befehle zu verwenden, öffnen Sie das Programm sqlcmd. Dies ist die SQL Server-Befehlszeile, die sich auf dem Server-Computer befindet, wenn SQL Server installiert ist.
Wenn sich SQL Server auf einem anderen Computer als memoQ TMS befindet: Es wird empfohlen, sich über Remotedesktop auf SQL Server (und nicht auf dem memoQ TMS-Computer) anzumelden und die Befehle dort auszuführen.
Nehmen Sie keine Änderungen an Ihrem System vor, es sei denn, Sie wissen genau, was Sie tun, und alles, was hier geschrieben steht, ist Ihnen klar.
Die Verwendung dieser Befehle erfolgt auf eigene Gefahr: memoQ Zrt. übernimmt keine Verantwortung für Schäden, die durch die Verwendung dieser Befehle entstehen. In unerfahrenen Händen können sie großen Schaden anrichten. Stellen Sie außerdem sicher, dass Sie eine Sicherung der Datenbank erstellen, bevor Sie irgendwelche Änderungen vornehmen. Es wird auch dringend empfohlen, dass Sie zumindest einen Crash-Kurs in SQL Server-Administration absolvieren, bevor Sie fortfahren.

sqlcmd –S .\<instancename>
Beispiel: sqlcmd –S .\MEMOQSERVER
Um eine Verbindung zu einer Standardinstanz (die unter dem Namen MSSQLSERVER im Programm Services läuft) herzustellen, verwenden Sie diesen Befehl: sqlcmd -S .\
Hinweis: Wenn Sie eine Standardinstanz auf demselben Computer mit memoQ TMS verwenden müssen, ändern Sie die Verbindungszeichenfolge in der Datei C:\ProgramData\MemoQ Server\Configuration.xml. Die Verbindungszeichenfolge sollte wie folgt aussehen: <SQLConnectionString>Data Source=localhost;Initial Catalog=MemoQServer;Integrated Security=True;Connect Timeout=300</SQLConnectionString>
Normalerweise ist bei der MEMOQSERVER-Instanz die Verbindungszeichenfolge die folgende:
<SQLConnectionString>Data Source=localhost\MEMOQSERVER;Initial Catalog=MemoQServer;Integrated Security=True;Connect Timeout=300</SQLConnectionString>)
Initial Catalog ist der Name der Datenbank in SQL Server, die memoQ TMS verwenden wird. Normalerweise ist es MemoQServer.

Sie benötigen dies, wenn Sie eine Sicherung der memoQ TMS-Datenbank wiederherstellen müssen. Verwenden Sie diesen Befehl, um herauszufinden, ob Sie Schwierigkeiten haben werden (und ein Upgrade durchführen müssen), weil die Datenbanksicherung von einer anderen Version stammt.
select @@version
go
Die Ausgabe sieht wie folgt aus:
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)

Verbinden Sie sich zunächst mit der SQL Server-Instanz. Informationen dazu finden Sie im Abschnitt am Anfang dieses Themas.
Dies wird dringend empfohlen, bevor Sie die Dateien MemoQServer.mdf und MemoQServer_log.ldf in einen anderen Ordner verschieben, damit die Datenbank nach dem Verschieben konsistent bleibt.
use master [drücken Sie Eingabetaste]
go [drücken Sie Eingabetaste]
sp_detach_db ’<databasename>’ [drücken Sie Eingabetaste]
go [drücken Sie Eingabetaste]
Beispiel:
use master [drücken Sie Eingabetaste]
go [drücken Sie Eingabetaste]
sp_detach_db ’MemoQServer’ [drücken Sie Eingabetaste]
go [drücken Sie Eingabetaste]

Sie müssen diese Rolle für das Benutzerkonto gewähren, das memoQ TMS repräsentiert, sowie für den Benutzer, der das Deployment Tool ausführt.
Tun Sie dies als jemand, der die Rolle sysadmin in SQL Server hat.
use <database name>
go
sp_addrolemember ’db_owner’, ’<computername or domain name\username>’
go
Beispiel:
use MemoQServer
go
sp_addrolemember ’db_owner’, ’memoQ-PC\memoQ’
go
So entfernen Sie jemanden aus dieser Rolle:
use <database name>
go
sp_droprolemember ’db_owner’, ’<computername or domain name\username>’
go
Beispiel:
use MemoQServer
go
sp_droprolemember ’db_owner’, ’memoQ-PC\memoQ’
go

Sie müssen diese Rolle für das Benutzerkonto gewähren, das memoQ TMS repräsentiert, sowie für den Benutzer, der das Deployment Tool ausführt.
Tun Sie dies als jemand, der bereits die Rolle sysadmin in SQL Server hat.
sp_addsrvrolemember ’<computername or domain name\username>’, ’role’
go
Beispiel:
sp_addsrvrolemember ’memoQ-PC\memoQ’, ’sysadmin’
go
oder
sp_addsrvrolemember ’memoQ-PC\memoQ’, ’dbcreator’
go
So entfernen Sie jemanden aus einer Rolle auf Serverebene:
Beispiel:
sp_dropsrvrolemember ’memoQ-PC\memoQ’, ’sysadmin’
go
oder
sp_dropsrvrolemember ’memoQ-PC\memoQ’, ’dbcreator’
go
So listen Sie Benutzer mit der Rolle sysadmin auf:
sp_helpsrvrolemember 'sysadmin'
go

Stellen Sie zunächst eine Verbindung zu einer Serverinstanz her.
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
Es wurde nichts zurückgegeben? Wahrscheinlich haben Sie keine ausreichenden Berechtigungen, um diesen Befehl auszuführen.

Methode 1:
- Stoppen Sie den memoQ TMS-Dienst.
- Stoppen Sie die MS SQL-Datenbankinstanz (verwenden Sie Services.msc dafür).
- Kopieren Sie aus dem memoQ TMS-Datenordner (normalerweise C:\ProgramData\MemoQ Server) die Dateien MemoQServer.mdf und MemoQServer_log.ldf in Ihren Sicherungsordner.
Methode 2:
- Stoppen Sie den memoQ TMS-Dienst.
- Verbinden Sie sich mit der Datenbankinstanz.
- Führen Sie den folgenden Befehl aus, um eine vollständige Sicherung zu erstellen:
backup database <database name> to disk=’<path>\<backup filename>.bak’
go
Beispiel:
backup database MemoQServer to disk=’E:\mqdb_backup\MemoQServer_2012_04_18.bak’
go

In der Regel wird wie folgt vorgegangen:
- Stoppen Sie den memoQ TMS-Dienst.
- Verbinden Sie sich mit der Datenbankinstanz.
- Führen Sie den folgenden Befehl aus:
restore database <database name> from disk=’<path>\<backup filename>.bak’
go
Beispiel:
restore database MemoQServer from disk=’E:\mqdb_backup\MemoQServer_2012_04_18.bak’
go

Wenn der logische Name und der Pfad des logischen Namens der Datenbank auf dem System, von dem die Sicherung stammt, anders war und Sie die Sicherung in einem neu installierten memoQ TMS wiederherstellen müssen, verwenden Sie diesen Befehl:
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