Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.Statement;
  5.  
  6. import com.microsoft.sqlserver.jdbc.SQLServerDriver;
  7.  
  8. public class Main {
  9.  
  10. private static final String JDBC_URL_TEMPLATE = "jdbc:sqlserver://mssql-2016.mw.lab.eng.bos.redhat.com;DatabaseName=%s";
  11. private static final String DATABASE_NAME_TEMPLATE = "dballo%02d";
  12.  
  13.  
  14. public static void main(String[] args) throws Exception {
  15. DriverManager.registerDriver(new SQLServerDriver());
  16. for (int i = 0; i < 30; i++) {
  17. String database = String.format(DATABASE_NAME_TEMPLATE, i);
  18. String user = database;
  19. String password = database;
  20. String jdbcUrl = String.format(JDBC_URL_TEMPLATE, database);
  21. try (Connection conn = DriverManager.getConnection(jdbcUrl, user, password)) {
  22. boolean before = isReadCommitedSnapshotOn(conn, database);
  23. if (!before)
  24. enableReadCommitedSnapshot(conn);
  25. boolean after = isReadCommitedSnapshotOn(conn, database);
  26. System.out.println("Database: " + database + ", value: " + before + ", " + (before ? "not changed" : "changed to " + after));
  27. }
  28. }
  29. }
  30.  
  31. private static boolean isReadCommitedSnapshotOn(Connection connection, String database) throws Exception {
  32. try (Statement stmt = connection.createStatement()) {
  33. try (ResultSet result = stmt.executeQuery("SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name = '" + database + "'")) {
  34. result.next();
  35. return result.getBoolean(1);
  36. }
  37. }
  38. }
  39.  
  40. private static void enableReadCommitedSnapshot(Connection connection) throws Exception {
  41. try (Statement stmt = connection.createStatement()) {
  42. stmt.execute("ALTER DATABASE CURRENT SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;");
  43. }
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement