import java.io.FileInputStream; import java.sql.*; import java.util.Properties; public class RefreshViews { public static void main(String[] args) throws Exception { Properties props = new Properties(); try (FileInputStream in = new FileInputStream(args[0])) { props.load(in); } try (Connection conn = DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password"))) { for (String v : new String[]{"v_s_log_login", "v_s_log_technical", "v_s_log_audit", "v_b_user"}) { try (Statement st = conn.createStatement()) { st.execute("EXEC sp_refreshview 'dbo." + v + "'"); System.out.println("REFRESHED: " + v); } catch (SQLException e) { System.out.println("WARN: " + v + " -> " + e.getMessage()); } } // verify all views queryable for (String v : new String[]{"v_s_log_login", "v_s_log_technical", "v_s_log_audit", "v_b_user"}) { try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT TOP 1 1 FROM " + v)) { System.out.println("VIEW OK: " + v); } } // verify s_log_login current columns try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery( "SELECT c.name FROM sys.columns c WHERE c.object_id=OBJECT_ID('s_log_login') ORDER BY c.column_id")) { StringBuilder sb = new StringBuilder("s_log_login cols: "); while (rs.next()) sb.append(rs.getString(1)).append(" "); System.out.println(sb); } } } }